
<!DOCTYPE html>
  <html lang="id">
  <head>
    <meta name="google-site-verification" content="vY59X_2BOyXc1J34jXpFGGpuXKmn82Vn4eSz6Rbhx0U" />
    <meta charset="UTF-8">
    <title>Slot25 ✔️ Login Alternatif Slot 25 Gacor Angka Pasaran Toto Macau Meningkat Pesat</title>
    <meta name="description" content="Gunakan link login alternatif Slot25 untuk akses taruhan slot gacor paling aman sekaligus pantau angka pasaran Toto Macau yang terbukti meningkat pesat hari ini! ">
    <link rel="canonical" href="https://pafikecindragiri.org/">
    <meta name="robots" content="index, follow, nosnippet">
    <link rel="amphtml" href="https://slot25-pesat.pafikecindragiri.org/">
    <meta name="google-site-verification" content="yXWe9HQXyxhdt4PFf89CBOqPyJk1rOmJ69S2TBnAlRs" />
    <link rel="alternate" hreflang="id-id" href="https://slot25-pesat.pafikecindragiri.org/"/>
    <link rel="alternate" href="https://slot25-pesat.pafikecindragiri.org/"/>
    <link rel="alternate" hreflang="id" href="https://slot25-pesat.pafikecindragiri.org/"/>
    <link rel="alternate" hreflang="en" href="https://slot25-pesat.pafikecindragiri.org/"/>
    <link rel="alternate" hreflang="x-default" href="https://slot25-pesat.pafikecindragiri.org/"/>
    <link rel="preconnect" href="https://www.googletagmanager.com" crossorigin>
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-0LSM1YJSPZ" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
    <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>
    <meta property="og:locale" content="id_ID">
    <meta property="og:site_name" content="slot25">
    <meta property="og:type" content="product">
    <meta property="og:title" content="Slot25 ✔️ Login Alternatif Slot 25 Gacor Angka Pasaran Toto Macau Meningkat Pesat">
    <meta property="og:description" content="Gunakan link login alternatif Slot25 untuk akses taruhan slot gacor paling aman sekaligus pantau angka pasaran Toto Macau yang terbukti meningkat pesat hari ini! ">
    <meta property="og:url" content="https://pafikecindragiri.org/">
    <meta property="og:image" content="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png">
    <meta property="og:image:alt" content="Slot25 ✔️ Login Alternatif Slot 25 Gacor Angka Pasaran Toto Macau Meningkat Pesat">
  <meta property="product:price:amount" content="5000">
  <meta property="product:price:currency" content="IDR">
  <meta property="product:availability" content="out of stock">
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:title" content="Slot25 ✔️ Login Alternatif Slot 25 Gacor Angka Pasaran Toto Macau Meningkat Pesat">
  <meta name="twitter:description" content="Gunakan link login alternatif Slot25 untuk akses taruhan slot gacor paling aman sekaligus pantau angka pasaran Toto Macau yang terbukti meningkat pesat hari ini! ">
  <meta name="twitter:image" content="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png">

  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "WebSite",
    "@id": "/#website",
    "url": "https://pafikecindragiri.org/",
    "name": "SLOT25",
    "inLanguage": "id",
    "potentialAction": {
      "@type": "SearchAction",
      "target": "https://pafikecindragiri.org/",
      "query-input": "required name=search_term_string"
    }
  }
  </script>

  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "@id": "/#organization",
    "name": "SLOT25",
    "url": "https://pafikecindragiri.org/",
    "logo": "https://pafikecindragiri.org/img/logo.png"
  }
  </script>

  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Product",
    "name": "Slot25 ✔️ Login Alternatif Slot 25 Gacor Angka Pasaran Toto Macau Meningkat Pesat",
    "sku": "slot25",
    "image": [
      "https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png"
    ],
    "url": "https://pafikecindragiri.org/",
    "description": "Gunakan link login alternatif Slot25 untuk akses taruhan slot gacor paling aman sekaligus pantau angka pasaran Toto Macau yang terbukti meningkat pesat hari ini!  ",
    "category": "SLOT25",
    "brand": {
      "@type": "Brand",
      "name": "SLOT25"
    },
    "offers": {
      "@type": "Offer",
      "url": "https://pafikecindragiri.org/",
      "priceCurrency": "IDR",
      "price": "5000",
      "priceValidUntil": "2027-03-01",
      "availability": "https://schema.org/OutOfStock",
      "itemCondition": "https://schema.org/NewCondition",
      "seller": {
        "@type": "Organization",
        "name": "SLOT25",
        "url": "https://pafikecindragiri.org/"
      }
    },
    "aggregateRating": {
      "@type": "AggregateRating",
      "ratingValue": "4.9",
      "reviewCount": "808",
      "bestRating": "5",
      "worstRating": "1"
    }
  }
  </script>

  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "SLOT25",
        "item": "https://pafikecindragiri.org/"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "slot 25",
        "item": "https://pafikecindragiri.org/"
      }
    ]
  }
  </script>

  <script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Apa itu Slot25?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Slot25 merupakan platform permainan online yang menyediakan akses login alternatif, informasi slot 25 gacor, serta pembaruan angka pasaran Toto Macau dalam satu halaman."
      }
    },
    {
      "@type": "Question",
      "name": "Bagaimana cara menggunakan link login alternatif Slot25?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Pengguna dapat membuka link login alternatif Slot25 melalui perangkat desktop maupun smartphone, lalu memasukkan data akun pada halaman login resmi yang tersedia."
      }
    },
    {
      "@type": "Question",
      "name": "Apa fungsi link alternatif Slot25?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Link alternatif Slot25 berfungsi sebagai jalur akses cadangan ketika alamat utama mengalami kendala, pemeliharaan, atau sulit dibuka melalui jaringan tertentu."
      }
    },
    {
      "@type": "Question",
      "name": "Apakah Slot25 menyediakan informasi Toto Macau?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ya, Slot25 menghadirkan informasi angka pasaran Toto Macau yang dapat dipantau melalui halaman terkait sesuai jadwal pembaruan yang tersedia."
      }
    },
    {
      "@type": "Question",
      "name": "Apakah Slot25 dapat diakses melalui perangkat mobile?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Slot25 dirancang responsif sehingga link login alternatif Slot25 dapat dibuka melalui Android, iPhone, tablet, laptop, maupun komputer."
      }
    },
    {
      "@type": "Question",
      "name": "Bagaimana cara memastikan link Slot25 aman digunakan?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Pastikan alamat Slot25 menggunakan koneksi HTTPS, memiliki nama domain yang sesuai, dan tidak meminta data sensitif di luar informasi login akun."
      }
    }
  ]
}
</script>
    <!-- User Session Data -->
      <meta name="csrf-token" content="9ce6e4a17f7cc189893df9e47789b13e98829450d516a0cae5ca7b5f43e5dadc">
    <meta name="user-logged-in" content="false">
    <meta name="user-id" content="0">
    
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />

    <link rel="shortcut icon" href="https://pafikecindragiri.org/img/icon.png" type="image/x-icon">
    <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/style.css">
    <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/bottom-nav.css">
    <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/search-suggest.css">
    <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-detail.css">
    <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-grid.css">
    <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/site-notice.css">
          <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/benchmark.css">
      <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-filters.css">
    <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/mega-menu-tiles.css">
    <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-compare.css">
    <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-card-actions.css">
    <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/modal.css">
        
          <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/reviews-points.css">
              
  </head>
  <body>
  <header class="topbar">
    <div class="container topbar-inner">
      <div class="topbar-left">
        Slot25 ✔️ Login Alternatif Slot 25 Gacor Angka Pasaran Toto Macau Meningkat Pesat
      </div>
      <div class="topbar-right">
        <a href="https://pafikecindragiri.org/">SLOT25</a>
        <a href="https://pafikecindragiri.org/">Promo</a>
        <a href="https://slot25-pesat.pafikecindragiri.org/">Daftar</a>
        <a href="https://slot25-pesat.pafikecindragiri.org/">Masuk</a>
      </div>
    </div>
  </header>
  <nav class="navbar">
    <nav class="navbar-logo" style="width: 100%;">
      <div class="container nav-inner" style="justify-items: center; justify-content: center;">
          <a href="/" class="logo-mobile">
            <img src="https://pafikecindragiri.org/img/logo.png" alt="SLOT25" height="100">
          </a>
      </div>
  </nav>
    <div class="container nav-inner">
      <a href="/" class="logo">
        <img src="https://pafikecindragiri.org/img/logo.png" alt="SLOT25" height="100">
      </a>

      
      <form class="search" method="get" action="#">
        <input type="hidden" name="page" value="produk">
        
        <!-- Search Icon (Desktop) -->
        <button type="submit" class="search-icon-btn" id="searchBtn" aria-label="Cari">
          <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <circle cx="11" cy="11" r="8"/>
            <path d="m21 21-4.35-4.35"/>
          </svg>
        </button>
        
        <input type="text" name="q" id="searchInput" placeholder="Cari SLOT25"
              value="" autocomplete="off"> 
        
        <div class="search-suggest" id="searchSuggest" hidden></div>
      </form>

      <div class="nav-actions">
        <!--<button class="icon-btn" id="notifBtn" title="Notifikasi">🔔</button>-->
        <button class="icon-btn cart-indicator" id="cartBtn" title="Keranjang">
          🛒 <span id="cartCount" class="badge" data-role="cart-badge" aria-live="polite">0</span>
        </button>
        
        
          <span id="compareCount" class="badge" data-role="compare-badge" aria-live="polite">0</span>
        </button>
        
        <!-- Dynamic login/logout button -->
              <button class="login-btn" id="loginBtn" aria-label="Masuk">
          <span class="login-text">Masuk</span>
          <span class="login-ico" aria-hidden="true">😊</span>
        </button>
            </div>
    </div>

    <div class="container" style="display: flex; align-items: center;">
        

        <div class="mega-cats-wrapper">
          <div class="mega-cats container" id="megaCatsScroll" style="padding-left: 5px !important;">
                        <a class="" href="https://pafikecindragiri.org/">
                SLOT25            </a>
                        <a class="" href="https://pafikecindragiri.org/">
                SLOT 25             </a>
                        <a class="" href="https://pafikecindragiri.org/">
                SLOT25 LOGIN            </a>
                        <a class="" href="https://pafikecindragiri.org/">
                SLOT25 ONLINE             </a>
                        <a class="" href="https://pafikecindragiri.org/">
                SITUS SLOT25         </a>
                        <a class="" href="https://pafikecindragiri.org/">
                SLOT25 LINK            </a>
                        <a class="" href="https://pafikecindragiri.org/">
                SLOT25 ALTERNATIF            </a>
                    </div>
          <div class="mega-cats-fade" id="megaCatsFade"></div>
        </div>
    </div>
  </nav>

  <!-- Panel Mega Menu - Outside navbar for full-screen -->
  <div class="mm2-panel" data-mm2="panel" role="dialog" aria-label="Kategori">
    <div class="mm2-view is-active" data-mm2="top"></div>
    <div class="mm2-view" data-mm2="detail"></div>
  </div>

  <!-- Backdrop - Outside navbar for full-screen -->
  <div class="mm2-backdrop" data-mm2="backdrop"></div>

  <!-- Mobile Bottom Navigation -->
  <nav class="bottom-nav">
    <div class="bottom-nav-inner">
      <!-- Home -->
      <a href="/" class="bottom-nav-item" id="bottomHomeBtn" data-page="home">
        <div class="bottom-nav-item-icon">
          <!-- Outlined icon (default) -->
          <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>
            <polyline points="9 22 9 12 15 12 15 22"/>
          </svg>
          <!-- Filled icon (active) -->
          <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
            <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"/>
            <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"/>
          </svg>
        </div>
        <span class="bottom-nav-item-label">Home</span>
      </a>

      <!-- Kategori -->
      <button class="bottom-nav-item" id="bottomCategoryBtn" data-mm2="trigger" aria-label="Kategori">
        <div class="bottom-nav-item-icon">
          <!-- Outlined icon (default) -->
          <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <line x1="3" y1="12" x2="21" y2="12"/>
            <line x1="3" y1="6" x2="21" y2="6"/>
            <line x1="3" y1="18" x2="21" y2="18"/>
          </svg>
          <!-- Filled icon (active) -->
          <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
            <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"/>
          </svg>
        </div>
        <span class="bottom-nav-item-label">Kategori</span>
      </button>

      <!-- Keranjang -->
      <button class="bottom-nav-item" id="bottomCartBtn">
        <div class="bottom-nav-item-icon">
          <!-- Outlined icon (default) -->
          <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <circle cx="9" cy="21" r="1"/>
            <circle cx="20" cy="21" r="1"/>
            <path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/>
          </svg>
          <!-- Filled icon (active) -->
          <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
            <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"/>
          </svg>
          <span class="bottom-nav-item-badge" id="bottomCartCount">0</span>
        </div>
        <span class="bottom-nav-item-label">Keranjang</span>
      </button>

      <!-- Compare -->
      <button class="bottom-nav-item" id="bottomCompareBtn">
        <div class="bottom-nav-item-icon">
          <!-- Outlined icon (default) -->
          <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <polyline points="17 11 21 7 17 3"/>
            <path d="M21 7H9"/>
            <polyline points="7 21 3 17 7 13"/>
            <path d="M15 17H3"/>
          </svg>
          <!-- Filled icon (active) -->
          <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
            <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"/>
          </svg>
          <span class="bottom-nav-item-badge" id="bottomCompareCount" style="display:none;">0</span>
        </div>
        <span class="bottom-nav-item-label">Compare</span>
      </button>

      <!-- Chat - Always show, check login in JavaScript -->
      <button class="bottom-nav-item" id="bottomChatBtn" data-page="chat">
        <div class="bottom-nav-item-icon">
          <!-- Outlined icon (default) -->
          <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" opacity="0.85">
            <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/>
          </svg>
          <!-- Filled icon (active) -->
          <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
            <path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2z"/>
          </svg>
          <span class="bottom-nav-item-badge" id="bottomChatCount" style="display:none;">0</span>
        </div>
        <span class="bottom-nav-item-label">Chat</span>
      </button>

      <!-- Akun -->
          <button class="bottom-nav-item" id="bottomLoginBtn">
        <div class="bottom-nav-item-icon">
          <!-- Outlined icon (default) -->
          <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/>
            <circle cx="12" cy="7" r="4"/>
          </svg>
          <!-- Filled icon (active) -->
          <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
            <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"/>
          </svg>
        </div>
        <span class="bottom-nav-item-label">Login</span>
      </button>
          </svg>
        </div>
      </button>
        </div>
  </nav>
  <!-- Mobile User Menu Bottom Sheet -->

  <script nonce="se3iyzEHMc9FQEB4wSyd0w==">
  (function(){
    const btn = document.getElementById('megaMoreBtn');
    const dd  = document.getElementById('megaMoreDropdown');
    if(!btn || !dd) return;

    function openDD(){
      dd.hidden = false;
      btn.setAttribute('aria-expanded','true');
      document.addEventListener('click', outside, {capture:true});
      document.addEventListener('keydown', esc);
    }
    function closeDD(){
      if(dd.hidden) return;
      dd.hidden = true;
      btn.setAttribute('aria-expanded','false');
      document.removeEventListener('click', outside, {capture:true});
      document.removeEventListener('keydown', esc);
    }
    function toggle(){ dd.hidden ? openDD() : closeDD(); }
    function outside(e){
      if(!dd.contains(e.target) && e.target !== btn){
        closeDD();
      }
    }
    function esc(e){
      if(e.key === 'Escape'){
        closeDD();
        btn.focus();
      }
    }
    btn.addEventListener('click', toggle);
  })();

  // ========== HORIZONTAL SCROLL FADE INDICATOR ==========
  (function(){
    const megaCats = document.getElementById('megaCatsScroll');
    const fade = document.getElementById('megaCatsFade');
    if (!megaCats || !fade) return;

    function updateFade() {
      const scrollLeft = megaCats.scrollLeft;
      const scrollWidth = megaCats.scrollWidth;
      const clientWidth = megaCats.clientWidth;
      const maxScroll = scrollWidth - clientWidth;
      
      // Hide fade when scrolled to end (within 10px tolerance)
      if (maxScroll - scrollLeft <= 10) {
        fade.style.opacity = '0';
      } else {
        fade.style.opacity = '1';
      }
    }

    // Update on scroll
    megaCats.addEventListener('scroll', updateFade, { passive: true });
    
    // Update on resize
    window.addEventListener('resize', updateFade, { passive: true });
    
    // Initial check
    setTimeout(updateFade, 100);
  })();

  document.addEventListener('DOMContentLoaded', function () {
    var input = document.getElementById('searchInput');
    if (!input) return;
    input.addEventListener('keydown', function (e) {
      if (e.key === 'Enter') {
        e.preventDefault();
        var form = input.form;
        if (!form) return;
        if (typeof form.requestSubmit === 'function') form.requestSubmit();
        else form.submit();
      }
    });
  });


  (function(){
    const cartBtn = document.getElementById('cartBtn');
    if (cartBtn) {
      cartBtn.addEventListener('click', function(e) {
        e.preventDefault();
        
        const checkLogin = () => {
          return window.isUserLoggedIn ? window.isUserLoggedIn() : false;
        };
        
        if (checkLogin()) {
          window.location.href = '/keranjang';
        } else {
          showCartLoginModal();
        }
      });
    }

    const loginBtn = document.getElementById('loginBtn');
    if (loginBtn) {
      loginBtn.addEventListener('click', function(e) {
        e.preventDefault();
        window.location.href = 'https://pafikecindragiri.org/';
      });
    }

    const userMenuBtn = document.getElementById('userMenuBtn');
    const userDropdown = document.getElementById('userDropdown');
    
    if (userMenuBtn && userDropdown) {
      function openDropdown() {
        userDropdown.hidden = false;
        userMenuBtn.setAttribute('aria-expanded', 'true');
        document.addEventListener('click', closeOnOutside, { capture: true });
        document.addEventListener('keydown', closeOnEscape);
      }
      
      function closeDropdown() {
        if (userDropdown.hidden) return;
        userDropdown.hidden = true;
        userMenuBtn.setAttribute('aria-expanded', 'false');
        document.removeEventListener('click', closeOnOutside, { capture: true });
        document.removeEventListener('keydown', closeOnEscape);
      }
      
      function closeOnOutside(e) {
        if (!userDropdown.contains(e.target) && e.target !== userMenuBtn) {
          closeDropdown();
        }
      }
      
      function closeOnEscape(e) {
        if (e.key === 'Escape') {
          closeDropdown();
          userMenuBtn.focus();
        }
      }
      
      userMenuBtn.addEventListener('click', function(e) {
        e.preventDefault();
        userDropdown.hidden ? openDropdown() : closeDropdown();
      });
      
      // Close dropdown when clicking profile links
      userDropdown.querySelectorAll('[data-close-dropdown]').forEach(link => {
        link.addEventListener('click', function() {
          closeDropdown();
        });
      });
    }

    // Bottom nav profile button - toggle mobile bottom sheet
    const bottomProfileBtn = document.getElementById('bottomProfileBtn');
    const mobileUserSheet = document.getElementById('mobileUserSheet');
    const mobileUserSheetBackdrop = document.getElementById('mobileUserSheetBackdrop');
    
    if (bottomProfileBtn && mobileUserSheet) {
      function openMobileSheet() {
        mobileUserSheet.hidden = false;
        document.body.style.overflow = 'hidden';
        // Trigger animation
        requestAnimationFrame(() => {
          mobileUserSheet.classList.add('active');
        });
      }
      
      function closeMobileSheet() {
        mobileUserSheet.classList.remove('active');
        document.body.style.overflow = '';
        setTimeout(() => {
          mobileUserSheet.hidden = true;
        }, 300);
      }
      
      bottomProfileBtn.addEventListener('click', function(e) {
        e.preventDefault();
        openMobileSheet();
      });
      
      if (mobileUserSheetBackdrop) {
        mobileUserSheetBackdrop.addEventListener('click', closeMobileSheet);
      }
      
      // Close on escape key
      document.addEventListener('keydown', function(e) {
        if (e.key === 'Escape' && !mobileUserSheet.hidden) {
          closeMobileSheet();
        }
      });
      
      // Close sheet when clicking profile links
      mobileUserSheet.querySelectorAll('[data-close-sheet]').forEach(link => {
        link.addEventListener('click', function() {
          closeMobileSheet();
        });
      });
    }
    
    // Handle Google avatar error in bottom-nav (fallback to initials)
    const bottomNavAvatar = document.querySelector('.bottom-nav-avatar-img');
    if (bottomNavAvatar) {
      bottomNavAvatar.addEventListener('error', function() {
        const initials = this.getAttribute('data-fallback-initials') || 'U';
        const initialsDiv = document.createElement('div');
        initialsDiv.className = 'bottom-nav-avatar-initials';
        initialsDiv.textContent = initials;
        this.parentNode.replaceChild(initialsDiv, this);
      });
    }

    // Mobile logout button
    const mobileLogoutBtn = document.getElementById('mobileLogoutBtn');
    if (mobileLogoutBtn) {
      mobileLogoutBtn.addEventListener('click', async function(e) {
        e.preventDefault();
        
        // Check push notification before logout
        if (window.ChatNotification && typeof window.ChatNotification.confirmLogoutWithPushNotification === 'function') {
          const confirmLogout = await window.ChatNotification.confirmLogoutWithPushNotification();
          if (!confirmLogout) {
            return; // User cancelled logout
          }
        }
        
        const getCsrfToken = () => document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || '';
        
        try {
          const response = await fetch('/auth/logout', {
            method: 'POST',
            credentials: 'same-origin',
            headers: {
              'Content-Type': 'application/json',
              'X-CSRF-Token': getCsrfToken()
            },
            body: JSON.stringify({
              csrf_token: getCsrfToken()
            })
          });
          
          if (response.ok) {
            if (window.guestCart && typeof window.guestCart.clear === 'function') {
              window.guestCart.clear();
            }
            window.location.href = '/login?logged_out=1';
          } else {
            console.error('Logout failed');
            window.location.href = '/logout';
          }
        } catch (error) {
          console.error('Logout error:', error);
          window.location.href = '/logout';
        }
      });
    }

    const logoutBtn = document.getElementById('logoutBtn');
    if (logoutBtn) {
      logoutBtn.addEventListener('click', async function(e) {
        e.preventDefault();
        
        // Check push notification before logout
        if (window.ChatNotification && typeof window.ChatNotification.confirmLogoutWithPushNotification === 'function') {
          const confirmLogout = await window.ChatNotification.confirmLogoutWithPushNotification();
          if (!confirmLogout) {
            return; // User cancelled logout
          }
        }
        
        const getCsrfToken = () => document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || '';
        
        try {
          const response = await fetch('/auth/logout', {
            method: 'POST',
            credentials: 'same-origin',
            headers: {
              'Content-Type': 'application/json',
              'X-CSRF-Token': getCsrfToken()
            },
            body: JSON.stringify({
              csrf_token: getCsrfToken()
            })
          });
          
          if (response.ok) {
            if (window.guestCart && typeof window.guestCart.clear === 'function') {
              window.guestCart.clear();
            }
            
            window.location.href = '/login?logged_out=1';
          } else {
            console.error('Logout failed');
            window.location.href = '/logout';
          }
        } catch (error) {
          console.error('Logout error:', error);
          window.location.href = '/logout';
        }
      });
    }

    const wishlistBtn = document.getElementById('wishlistBtn');
    const notifBtn = document.getElementById('notifBtn');
    
    if (wishlistBtn) {
      wishlistBtn.addEventListener('click', function(e) {
        e.preventDefault();
        alert('Fitur wishlist akan segera tersedia!');
      });
    }
    
    if (notifBtn) {
      notifBtn.addEventListener('click', function(e) {
        e.preventDefault();
        alert('Fitur notifikasi akan segera tersedia!');
      });
    }
  })();

  // ========== MOBILE BOTTOM NAVIGATION ==========
  (function initBottomNav() {
    // Sync cart badge with bottom nav
    function syncBottomCartBadge() {
      const mainBadge = document.getElementById('cartCount');
      const bottomBadge = document.getElementById('bottomCartCount');
      if (mainBadge && bottomBadge) {
        const count = mainBadge.textContent;
        bottomBadge.textContent = count;
        bottomBadge.style.display = parseInt(count) > 0 ? 'flex' : 'none';
      }
    }

    // Sync compare badge with bottom nav
    function syncBottomCompareBadge() {
      const mainBadge = document.getElementById('compareCount');
      const bottomBadge = document.getElementById('bottomCompareCount');
      if (mainBadge && bottomBadge) {
        const count = mainBadge.textContent;
        bottomBadge.textContent = count;
        bottomBadge.style.display = parseInt(count) > 0 ? 'flex' : 'none';
      }
    }

    // Initial sync
    syncBottomCartBadge();
    syncBottomCompareBadge();

    // Observe badge changes
    const observer = new MutationObserver(function() {
      syncBottomCartBadge();
      syncBottomCompareBadge();
    });

    const cartBadge = document.getElementById('cartCount');
    const compareBadge = document.getElementById('compareCount');
    
    if (cartBadge) observer.observe(cartBadge, { childList: true, characterData: true, subtree: true });
    if (compareBadge) observer.observe(compareBadge, { childList: true, characterData: true, subtree: true });

    // Bottom Cart Button
    const bottomCartBtn = document.getElementById('bottomCartBtn');
    if (bottomCartBtn) {
      bottomCartBtn.addEventListener('click', function(e) {
        e.preventDefault();
        
        const checkLogin = () => {
          return window.isUserLoggedIn ? window.isUserLoggedIn() : false;
        };
        
        if (checkLogin()) {
          window.location.href = '/keranjang';
        } else {
          showCartLoginModal();
        }
      });
    }

    // Bottom Compare Button
    const bottomCompareBtn = document.getElementById('bottomCompareBtn');
    if (bottomCompareBtn) {
      bottomCompareBtn.addEventListener('click', function(e) {
        e.preventDefault();
        
        // Close chat widget if open
        if (window.plazaChat && window.plazaChat.isWidgetOpen) {
          window.plazaChat.closeWidget();
        }
        
        const mainCompareBtn = document.getElementById('compareBtn');
        if (mainCompareBtn) {
          mainCompareBtn.click();
        }
      });
    }

    // Bottom Category Button - triggers mega menu
    const bottomCategoryBtn = document.getElementById('bottomCategoryBtn');
    if (bottomCategoryBtn) {
      bottomCategoryBtn.addEventListener('click', function(e) {
        e.preventDefault();
        // Trigger desktop mega menu
        const desktopTrigger = document.querySelector('.mm2-trigger:not(#bottomCategoryBtn)');
        if (desktopTrigger) {
          desktopTrigger.click();
        }
      });
    }

    // Bottom Login Button
    const bottomLoginBtn = document.getElementById('bottomLoginBtn');
    if (bottomLoginBtn) {
      bottomLoginBtn.addEventListener('click', function(e) {
        e.preventDefault();
        window.location.href = '/login';
      });
    }

    // Bottom Chat Button
    const bottomChatBtn = document.getElementById('bottomChatBtn');
    if (bottomChatBtn) {
      bottomChatBtn.addEventListener('click', function(e) {
        e.preventDefault();
        
        // Trigger chat widget (try multiple times if needed)
        const triggerChat = () => {
          const chatToggle = document.getElementById('chat-toggle-btn');
          if (chatToggle) {
            chatToggle.click();
            return true;
          }
          return false;
        };
        
        // Immediate attempt
        if (!triggerChat()) {
          // Retry after 100ms if not found
          setTimeout(() => {
            if (!triggerChat()) {
              // Last resort: manually show popup
              const popup = document.getElementById('chat-popup');
              if (popup) {
                popup.style.display = 'block';
              }
            }
          }, 100);
        }
      });
    }

    // Sync chat unread badge
    function syncBottomChatBadge() {
      const chatBadge = document.getElementById('chat-unread-badge');
      const bottomChatBadge = document.getElementById('bottomChatCount');
      if (chatBadge && bottomChatBadge) {
        const count = chatBadge.textContent;
        bottomChatBadge.textContent = count;
        bottomChatBadge.style.display = chatBadge.style.display;
      }
    }

    // Observe chat badge changes
    const chatBadge = document.getElementById('chat-unread-badge');
    if (chatBadge) {
      observer.observe(chatBadge, { attributes: true, childList: true, characterData: true, subtree: true });
      syncBottomChatBadge();
    }

    // Active state management based on current page
    function updateActiveState() {
      const currentPath = window.location.pathname;
      const bottomNavItems = document.querySelectorAll('.bottom-nav-item');
      
      bottomNavItems.forEach(item => {
        item.classList.remove('active');
        
        const itemId = item.id;
        const page = item.getAttribute('data-page');
        const href = item.getAttribute('href');
        
        // Check by ID for specific pages
        if (itemId === 'bottomHomeBtn' && currentPath === '/') {
          item.classList.add('active');
        } else if (itemId === 'bottomCartBtn' && (currentPath === '/keranjang' || currentPath === '/cart')) {
          item.classList.add('active');
        } else if (itemId === 'bottomProfileBtn' && currentPath.startsWith('/profile')) {
          item.classList.add('active');
        } else if (itemId === 'bottomCategoryBtn' && currentPath.startsWith('/kategori')) {
          item.classList.add('active');
        } else if (itemId === 'bottomCompareBtn' && currentPath === '/compare') {
          item.classList.add('active');
        } else if (itemId === 'bottomChatBtn' && currentPath === '/chat') {
          item.classList.add('active');
        }
        // Fallback: check by data-page attribute
        else if (page === 'home' && currentPath === '/') {
          item.classList.add('active');
        } else if (page === 'profile' && currentPath.startsWith('/profile')) {
          item.classList.add('active');
        }
        // Fallback: check by href
        else if (href && currentPath === href) {
          item.classList.add('active');
        }
      });
    }

    // Update active state on load
    updateActiveState();

    // Bottom nav always visible - auto-hide disabled for better UX
    // const bottomNav = document.querySelector('.bottom-nav');
    // if (bottomNav && window.innerWidth <= 640) {
    //   // Auto-hide feature disabled
    // }
  })();
  // Cart Login Modal Handler (Global scope)
  function showCartLoginModal() {
    const modal = document.getElementById('cartLoginModal');
    if (!modal) return;
    
    modal.classList.add('show');
    
    const confirmBtn = document.getElementById('cartLoginConfirm');
    const registerBtn = document.getElementById('cartRegisterBtn');
    const cancelBtn = document.getElementById('cartLoginCancel');
    
    const handleLogin = () => {
      window.location.href = '/login?return=' + encodeURIComponent('/keranjang');
    };
    
    const handleRegister = () => {
      window.location.href = '/register?return=' + encodeURIComponent('/keranjang');
    };
    
    const handleCancel = () => {
      modal.classList.remove('show');
      confirmBtn.removeEventListener('click', handleLogin);
      registerBtn.removeEventListener('click', handleRegister);
      cancelBtn.removeEventListener('click', handleCancel);
    };
    
    confirmBtn.removeEventListener('click', handleLogin);
    registerBtn.removeEventListener('click', handleRegister);
    cancelBtn.removeEventListener('click', handleCancel);
    
    confirmBtn.addEventListener('click', handleLogin);
    registerBtn.addEventListener('click', handleRegister);
    cancelBtn.addEventListener('click', handleCancel);
    
    modal.addEventListener('click', (e) => {
      if (e.target === modal) {
        handleCancel();
      }
    });
  }
  </script>

  <!-- Product Compare Sidebar -->
  <div class="compare-sidebar" id="compareSidebar">
    <div class="compare-header">
      <h4 class="compare-title">
        <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
          <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"/>
        </svg>
        Bandingkan Produk
        <span class="compare-count" id="compareCountSidebar">(0)</span>
      </h4>
      <button class="compare-close" id="compareClose" aria-label="Tutup">
        <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
          <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"/>
        </svg>
      </button>
    </div>
    
    <div class="compare-content">
      <div class="compare-empty" id="compareEmpty">
        <div class="empty-icon">
          <svg width="48" height="48" viewBox="0 0 24 24" fill="currentColor" opacity="0.3">
            <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"/>
          </svg>
        </div>
        <h5>Belum ada produk dipilih</h5>
        <p>Pilih produk yang ingin dibandingkan dengan klik tombol "Bandingkan Produk" di halaman produk.</p>
      </div>
      
      <div class="compare-list" id="compareList">
        <!-- Products will be populated here -->
      </div>
    </div>
    
    <div class="compare-actions" id="compareActions">
      <button class="btn btn-outline-danger btn-sm" id="compareClearAll">
        <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
          <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"/>
        </svg>
        Hapus Semua
      </button>
      <button class="btn btn-primary btn-sm" id="compareAnalyze" disabled>
        <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
          <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"/>
        </svg>
        Analisis AI
      </button>
    </div>
    
    <!-- AI Disclaimer in Sidebar -->
    <div class="compare-disclaimer">
      <div class="ai-disclaimer">
        <div class="disclaimer-text">
          <strong>💡 Catatan:</strong> Dengan berbagai pilihan yang tersedia, pengguna memiliki kebebasan untuk menentukan jenis permainan yang paling sesuai dengan preferensi masing-masing.
        </div>
      </div>
    </div>
  </div><link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/pd-lightbox.css">
  <style>.paylater-promo{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#141815 0,#131614 100%);border:1px solid #ffd700;border-radius:8px;padding:8px 12px;font-size:13px;line-height:1.4;margin:8px 0}.paylater-promo-sm{padding:6px 10px;font-size:11px;gap:6px}.paylater-promo-md{padding:8px 12px;font-size:13px;gap:8px}.paylater-promo-lg{padding:10px 16px;font-size:14px;gap:10px}.paylater-icon{font-size:1.2em;flex-shrink:0}.paylater-text{display:flex;flex-direction:column;gap:2px}.paylater-text strong{color:#ffd700;font-weight:600}.paylater-text small{color:#ffd700;font-size:.85em;opacity:.9}.paylater-desktop-only{display:none}.paylater-mobile-only{display:flex}@media (min-width:641px){.paylater-desktop-only{display:flex}.paylater-mobile-only{display:none}}@media (max-width:640px){.paylater-promo{font-size:12px;padding:7px 10px}.paylater-promo-lg{font-size:13px;padding:8px 12px}}@media print{.paylater-promo{display:none!important}}.paylater-compact{display:inline-block;font-size:11px;font-weight:600;color:#ffd700;background:#d1fae5;padding:3px 8px;border-radius:4px;margin:6px 0 4px;line-height:1.3}@media (max-width:640px){.paylater-compact{font-size:10px;padding:2px 6px;margin:5px 0 3px}}@media print{.paylater-compact{display:none!important}}</style><style nonce="se3iyzEHMc9FQEB4wSyd0w==">.pd-voucher-minimal{margin:10px 0;display:flex;flex-direction:column;gap:6px}.pdv-min-item{display:flex;align-items:center;gap:8px;padding:0;height:32px;transition:all .2s ease}.pdv-min-hidden{display:none}.pdv-min-disabled{opacity:.5}.pdv-badge-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);border:none;border-radius:8px;padding:3px;cursor: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>
  <style nonce="se3iyzEHMc9FQEB4wSyd0w==">
  .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;display: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}

  .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)}}

  .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}

  .pd-share-preview{display:flex;gap:12px;padding:16px;background:#f8fafc;border-radius:12px;margin-bottom:24px}.pd-share-preview-img{width:64px;height:64px;border-radius:8px;object-fit:cover;flex-shrink:0;border:1px solid #e2e8f0}.pd-share-preview-info{flex:1;min-width:0}.pd-share-preview-name{font-size:14px;font-weight:600;color:#0f172a;margin:0 0 4px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pd-share-preview-price{font-size:16px;font-weight:700;color:#ffd700;margin:0}

  .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)}

  .pd-share-icon{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;position:relative}.pd-share-icon svg{width:24px;height:24px;display:block}.pd-share-icon-whatsapp{background:linear-gradient(135deg,#ffd700 0%,#3c3300 100%);color:#fff}.pd-share-icon-facebook{background:linear-gradient(135deg,#1877F2 0%,#0c63d4 100%);color:#fff}.pd-share-icon-twitter{background:linear-gradient(135deg,#1DA1F2 0%,#0d8bd9 100%);color:#fff}.pd-share-icon-telegram{background:linear-gradient(135deg,#0088cc 0%,#0077b3 100%);color:#fff}.pd-share-icon-email{background:linear-gradient(135deg,#EA4335 0%,#c5331f 100%);color:#fff}.pd-share-icon-copy{background:linear-gradient(135deg,#f1db63 0%,#e5d146 100%);color:#fff}.pd-share-icon-pdf{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff}.pd-share-name{font-size:12px;font-weight:600;color:#475569;text-align:center}

  .pd-share-copy-section{background:#f8fafc;padding:16px;border-radius:12px}.pd-share-copy-input-wrap{display:flex;gap:8px}.pd-share-copy-input{flex:1;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#0f172a;background:#fff;font-family:'Segoe UI',system-ui,sans-serif}.pd-share-copy-input:focus{outline:0;border-color:#ffd700;box-shadow:0 0 0 3px rgba(14,165,233,.1)}.pd-share-copy-btn{padding:12px 20px;border:0;border-radius:10px;background:linear-gradient(135deg,#e90e0e 0%,#0284c7 100%);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.pd-share-copy-btn:hover{background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);transform:translateY(-1px);box-shadow:0 4px 12px rgba(14,165,233,.3)}.pd-share-copy-btn:active{transform:translateY(0)}.pd-share-copy-btn svg{width:16px;height:16px}.pd-share-copy-btn.copied{background:linear-gradient(135deg,#c52222 0%,#a31616 100%);pointer-events:none}

  @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}}

  .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}

  @media(max-width:640px){.pd-share-btn{display:none!important}}

  .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}

  .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}

  .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}

  .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}


  .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}

  .sp-wa{
    grid-column:3; justify-self:end;
    width:32px; height:32px; min-width:32px; min-height:32px;
    box-sizing:border-box;
    padding:0; line-height:0; text-decoration:none; outline:0;
    display:inline-flex; align-items:center; justify-content:center;
    border-radius:999px; border:1px solid rgba(211, 37, 37, 0.6);  /* 1px untuk hasil “crisp” */
    background:rgba(37,211,102,.08); color:#d32525;
    transition:background-color .15s ease, border-color .15s ease, transform .05s ease;
    -webkit-tap-highlight-color:transparent;
  }
  .sp-wa:hover{background:rgba(37,211,102,.16);border-color:rgba(37,211,102,.75)}
  .sp-wa:active{transform:translateY(.5px) scale(.98)}

  .sp-wa svg{width:18px;height:18px;display:block;vertical-align:middle}
  .stock-popover a{text-decoration:none}

  #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}}

  .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}}

  .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}}

  .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}
  .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)}}
  .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}
  @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}}

  .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}}
  </style>

  <div class="pd-sticky-header" id="pd-sticky-header"><div class="pd-sticky-header-container"><div class="pd-sticky-thumb"><img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" id="pd-sticky-thumb-img"></div><div class="pd-sticky-info"><h2 class="pd-sticky-title" id="pd-sticky-title">Slot25 ✔️ Login Alternatif Slot 25 Gacor Angka Pasaran Toto Macau Meningkat Pesat</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 90.000</span><span class="pd-sticky-discount" id="pd-sticky-discount">-90%</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"><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>

  <main class="product-single product-single--v3"><nav class="pd-breadcrumb" aria-label="breadcrumb"><a href="//www.pinefurniturecornwall.co.uk/">SLOT25</a><span>/</span><a href="https://pafikecindragiri.org/">SLOT 25</a><span></span><a href="https://pafikecindragiri.org/">SLOT25 LOGIN</a><span>/</span><a href="https://pafikecindragiri.org/">SLOT25 ONLINE</a><span>/</span><a href="https://pafikecindragiri.org/">SITUS SLOT25 </a><span>/</span><span class="current">Slot25 ✔️ Login Alternatif Slot 25 Gacor Angka Pasaran Toto Macau Meningkat Pesat

  </span></nav>

  <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://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" data-slug="" loading="eager">
  </figure>

  <div class="pd-mobile-slider-wrapper">
  <div class="pd-mobile-slider" id="pd-mobile-slider" aria-label="Galeri gambar (geser)"><div class="pd-mslide"><img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" loading="eager"></div><div class="pd-mslide"><img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" loading="lazy"></div><div class="pd-mslide"><img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" loading="lazy"></div><div class="pd-mslide"><img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" loading="lazy"></div><div class="pd-mslide"><img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" loading="lazy"></div><div class="pd-mslide"><img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" loading="lazy"></div></div><div class="pd-gallery-counter" id="pd-gallery-counter">1/6</div></div>
  <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://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" data-alt="SLOT25" data-slug="" aria-label="Gambar 1"><img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" data-alt="SLOT25" data-slug="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" aria-label="Gambar 2"><img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" data-alt="SLOT25" 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://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" data-alt="SLOT25" 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://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" data-alt="SLOT25" 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://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" data-alt="SLOT25" 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://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" 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">
          <h1 class="pd-title" id="pd-title">Slot25 ✔️ Login Alternatif Slot 25 Gacor Angka Pasaran Toto Macau Meningkat Pesat</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>
  <div id="pd-price-anchor">
  </div>
  <div class="pd-price-qr-container">
          <div class="pd-price-block" id="pd-price-block">
                  <div class="pd-price-row">
                          <span class="pd-price-current" id="pd-price-current" >Rp 10.000</span>
                          <span class="pd-price-original" id="pd-price-original">Rp 50.000</span>
                          <span class="pd-discount-badge" id="pd-discount-badge">-90%</span></div>
                          <div class="pd-meta-row">
                                  <span class="sold-inline" id="pd-sold-inline" data-role="sold-chip">Terjual Terjual 2K</span>
                                  <span class="pwp-trigger-badge" id="pwp-trigger-badge" hidden>
                                          <svg width="14" height="14" 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>Bisa PWP</span></div>
                                                  <div class="pd-meta-inline"><span class="stock-badge out" id="pd-stock-badge">SLOT25</span>
                                                          <span class="sku">SKU: <span id="pd-sku">8S89G1554EGB</span></span></div>
  <div class="paylater-promo paylater-promo-sm paylater-mobile-only">
      <span class="paylater-icon">💳</span>
      <span class="paylater-text">
          <strong>SLOT25</strong>
          <small>SLOT25 TOTO</small>
      </span>
  </div>

  <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">
  <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>
                  
                      <li class="sp-item">
                        <div class="sp-left">
                          <span class="sp-dot" style="--dot:#d33434;"></span>
                          <span class="sp-label">Medan Fair</span>
                        </div>
                        <span class="sp-qty" id="sp-qty-mdf">0</span>
                        <a class="sp-wa"
                          href="https://wa.me/6285388992009?text=Halo%2C%20saya%20ingin%20tanya%20stok%20di%20Medan%20Fair%20untuk%20produk%20https%3A%2F%2Fplazait.co.id%2Fproduct%2Flenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-black"
                          target="_blank" rel="noopener" aria-label="WhatsApp Medan Fair">
                          <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>
                  
                      <li class="sp-item">
                        <div class="sp-left">
                          <span class="sp-dot" style="--dot:#f59e0b;"></span>
                          <span class="sp-label">Banda Aceh</span>
                        </div>
                        <span class="sp-qty" id="sp-qty-bda">0</span>
                        <a class="sp-wa"
                          href="https://wa.me/628116833411?text=Halo%2C%20saya%20ingin%20tanya%20stok%20di%20Banda%20Aceh%20untuk%20produk%20https%3A%2F%2Fplazait.co.id%2Fproduct%2Flenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-black"
                          target="_blank" rel="noopener" aria-label="WhatsApp Banda Aceh">
                          <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>
                    </ul>
                  </div>

                              </div>
              <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>
              </div>
                                      <div id="pd-variants-anchor"></div>

                          

              <div class="pd-compare-section">
                  <button type="button" class="pd-compare-btn" id="pd-compare-btn" data-product-id="325">
                      <svg class="compare-icon" width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
                          <path d="M21,9L17,5V8H10V10H17V13M7,11L3,15L7,19V16H14V14H7V11Z"/>
                      </svg>
                      <span class="compare-text">Bandingkan Produk</span>
                      <span class="compare-remove" hidden>
                          <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
                              <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"/>
                          </svg>
                          Hapus dari Perbandingan
                      </span>
                  </button>
                  <div class="pd-compare-info">
                      <small class="compare-note" id="compare-note">Bandingkan hingga 5 produk dengan bantuan AI</small>
                  </div>
              </div>
              
              <div class="pd-short-desc"><p><strong>Informasi SLOT25 :</strong></p><ul><li>Minimal Deposit: Rp.10.000,-</li><li>Jenis Permainan: SLOT 25, SLOT25 ONLINE, SITUS SLOT25</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: 791.541</li><li>Rating: ⭐⭐⭐⭐⭐</li><li>Daftar Sekarang: <a href="https://slot25-pesat.pafikecindragiri.org/">Klik Disini</a></li></ul></div>
  <div id="golden-slot-standalone-v3">
                          
              <div class="pwp-deals-section" id="pwp-deals-section" hidden data-product-id="325" data-variant-id="0" data-category-path="Komputer &amp; Laptop/Laptop/Gaming"><div class="pwp-deals-header"><svg class="pwp-icon" width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/></svg><div class="pwp-text"><h3 class="pwp-title">Penawaran Spesial PWP (Purchase with Purchase)</h3><p class="pwp-subtitle">Beli produk ini dan dapatkan produk pilihan dengan harga spesial</p></div></div><div class="pwp-deals-loading"><div class="pwp-spinner"></div><p>Memuat penawaran...</p></div><div class="pwp-deals-grid" id="pwp-deals-grid"></div><p class="pwp-cart-note">💡 Produk PWP dapat ditambahkan di halaman keranjang setelah produk ini dimasukkan</p></div>
          </section>

          <aside class="pd-sidebar">
              <div class="pd-side-card pd-buy-card">
                  <form class="pd-buy-form" id="pd-buy-form" data-pid="325">
                      <input type="hidden" name="variant_id" id="pd-variant-id" value="0">
                      <div>
                          <label for="qty" class="qty-label">Qty</label>
                          <input type="number" id="qty" name="qty" value="0" min="1"
                                max="0"
                                disabled>
                      </div>
                      <div class="pd-actions">
                          <button type="submit" class="btn-add-cart" id="btn-add-cart" disabled>+ Keranjang</button>
                          <button type="button" class="btn-buy" id="btn-buy" data-id="278426" disabled >Beli</button>
                          <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>
                                              </div>
                  </form>
                  <div class="paylater-promo paylater-promo-md paylater-desktop-only">
      <span class="paylater-icon">💳</span>
      <span class="paylater-text">
          <strong>SLOT25</strong>
          <small>SLOT25 TOTO</small>
      </span>
  </div>            </div>

                          
                          <div class="pd-side-card qoala-banner-card">
                  <div class="qoala-banner">
                      <div class="qoala-banner-content">
                          <div class="qoala-icon">
                              <center><img src="https://pafikecindragiri.org/img/icon.png" alt="SLOT25" class="qoala-shield-img"></center>
                          </div>
                          <div class="qoala-text">
                              <div class="qoala-title">Login SLOT25</div>
                              <div class="qoala-subtitle">Verified</div>
                          </div>
                      </div>
                      <a href="https://pafikecindragiri.org/" class="qoala-cta"
                        data-ga-event="qoala_banner_click"
                        data-product-id="325"
                        data-product-name="SLOT25"
                        data-category-path="Komputer &amp; Laptop/Laptop/Gaming" target="_blank">Info</a>
                  </div>
  <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>
              </div>
              
                          <!-- SLOT25 - TEST KEBERUNTUNGAN TOTO MACAU 4D -->
<div class="slot25-lucky-box">
  <div class="slot25-glow"></div>

  <div class="slot25-badge">SLOT25 • LUCKY NUMBER</div>

  <h2>TEST KEBERUNTUNGANMU</h2>
  <p>Tekan tombol untuk mendapatkan kombinasi angka acak 4D.</p>

  <div class="slot25-number-area" id="slot25NumberArea">
    <span class="slot25-ball">?</span>
    <span class="slot25-ball">?</span>
    <span class="slot25-ball">?</span>
    <span class="slot25-ball">?</span>
  </div>

  <button class="slot25-button" id="slot25LuckyButton" type="button">
    <span class="slot25-button-icon">✦</span>
    <span id="slot25ButtonText">CEK ANGKA TOTO MACAU 4D</span>
  </button>

  <div class="slot25-status" id="slot25Status">
    Angka keberuntunganmu siap dibuka
  </div>

  <div class="slot25-warning">
    Hasil dibuat secara acak dan bukan prediksi kemenangan.
  </div>
</div>

<style>
  .slot25-lucky-box,
  .slot25-lucky-box * {
    box-sizing: border-box;
  }

  .slot25-lucky-box {
    --gold: #ffd400;
    --gold-light: #fff27a;
    --dark: #080808;
    --dark-soft: #151515;

    width: 100%;
    max-width: 540px;
    margin: 30px auto;
    padding: 32px 24px 25px;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 212, 0, 0.7);
    border-radius: 25px;
    background:
      radial-gradient(circle at 50% -20%, rgba(255, 232, 91, 0.35), transparent 45%),
      linear-gradient(145deg, #ffd900 0%, #e7ad00 100%);
    box-shadow:
      0 0 12px rgba(255, 212, 0, 0.8),
      0 0 35px rgba(255, 194, 0, 0.45),
      0 20px 50px rgba(0, 0, 0, 0.55);
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
    color: #ffffff;
    isolation: isolate;
  }

  .slot25-lucky-box::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
      repeating-linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.06) 0,
        rgba(255, 255, 255, 0.06) 2px,
        transparent 2px,
        transparent 12px
      );
  }

  .slot25-lucky-box::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -70px;
    bottom: -100px;
    z-index: -1;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.13);
  }

  .slot25-glow {
    position: absolute;
    width: 220px;
    height: 220px;
    top: -160px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    background: #ffffff;
    filter: blur(60px);
    opacity: 0.25;
    pointer-events: none;
  }

  .slot25-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    padding: 8px 18px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 50px;
    background: rgba(0, 0, 0, 0.16);
    box-shadow: inset 0 0 12px rgba(255, 255, 255, 0.1);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.7px;
  }

  .slot25-lucky-box h2 {
    margin: 0;
    max-width: 100%;
    color: #ffffff;
    font-size: clamp(21px, 4vw, 24px);
    line-height: 1.28;
    font-weight: 900;
    letter-spacing: 0.7px;
    overflow-wrap: anywhere;
    word-break: break-word;
    text-shadow: 0 3px 0 rgba(0, 0, 0, 0.16);
  }

  .slot25-lucky-box p {
    max-width: 390px;
    margin: 9px auto 21px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 14px;
    line-height: 1.5;
  }

  .slot25-number-area {
    display: flex;
    justify-content: center;
    gap: 13px;
    margin: 0 auto 22px;
    padding: 20px 16px;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 212, 0, 0.55);
    border-radius: 18px;
    background:
      radial-gradient(circle at center, #1d1d1d 0%, #050505 72%);
    box-shadow:
      inset 0 0 25px rgba(255, 212, 0, 0.08),
      0 12px 24px rgba(0, 0, 0, 0.38);
  }

  .slot25-number-area::before {
    content: "";
    position: absolute;
    width: 120%;
    height: 25px;
    top: -30px;
    left: -10%;
    transform: rotate(-8deg);
    background: rgba(255, 255, 255, 0.14);
    filter: blur(8px);
  }

  .slot25-ball {
    width: 68px;
    height: 68px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border: 3px solid #fff08a;
    border-radius: 50%;
    background:
      radial-gradient(circle at 35% 28%, #fff9b9 0%, #ffd820 29%, #f2a800 70%);
    box-shadow:
      inset -7px -9px 12px rgba(137, 72, 0, 0.24),
      inset 5px 5px 10px rgba(255, 255, 255, 0.5),
      0 0 18px rgba(255, 210, 0, 0.62);
    color: #111111;
    font-size: 27px;
    font-weight: 900;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.65);
    transition: transform 0.25s ease;
  }

  .slot25-ball::after {
    content: "";
    width: 14px;
    height: 8px;
    position: absolute;
    top: 9px;
    left: 15px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.75);
    transform: rotate(-25deg);
    filter: blur(1px);
  }

  .slot25-number-area.slot25-rolling .slot25-ball {
    animation: slot25Roll 0.22s linear infinite;
  }

  .slot25-number-area.slot25-finished .slot25-ball {
    animation: slot25Result 0.55s ease;
  }

  .slot25-button {
    width: 100%;
    max-width: 350px;
    min-height: 55px;
    padding: 14px 20px;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid #3b3b3b;
    border-radius: 50px;
    background: linear-gradient(180deg, #202020 0%, #050505 100%);
    box-shadow:
      0 8px 0 #a97a00,
      0 13px 22px rgba(0, 0, 0, 0.38),
      inset 0 1px 0 rgba(255, 255, 255, 0.13);
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.4px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }

  .slot25-button::before {
    content: "";
    width: 80px;
    height: 180%;
    position: absolute;
    top: -40%;
    left: -120px;
    transform: rotate(25deg);
    background: linear-gradient(
      90deg,
      transparent,
      rgba(255, 255, 255, 0.45),
      transparent
    );
    animation: slot25Shine 3s infinite;
  }

  .slot25-button:hover {
    transform: translateY(-2px);
    box-shadow:
      0 10px 0 #a97a00,
      0 16px 25px rgba(0, 0, 0, 0.4);
  }

  .slot25-button:active {
    transform: translateY(6px);
    box-shadow:
      0 2px 0 #a97a00,
      0 7px 15px rgba(0, 0, 0, 0.35);
  }

  .slot25-button:disabled {
    cursor: wait;
    opacity: 0.85;
  }

  .slot25-button-icon {
    display: inline-block;
    margin-right: 7px;
    color: var(--gold);
    font-size: 18px;
    animation: slot25Star 1.5s linear infinite;
  }

  .slot25-status {
    min-height: 20px;
    margin-top: 20px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.3px;
  }

  .slot25-warning {
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid rgba(255, 255, 255, 0.28);
    color: rgba(255, 255, 255, 0.83);
    font-size: 11px;
    line-height: 1.5;
  }

  @keyframes slot25Roll {
    0% {
      transform: translateY(-4px) rotate(-5deg) scale(0.95);
      filter: blur(1px);
    }
    50% {
      transform: translateY(5px) rotate(5deg) scale(1.05);
      filter: blur(0);
    }
    100% {
      transform: translateY(-4px) rotate(-5deg) scale(0.95);
      filter: blur(1px);
    }
  }

  @keyframes slot25Result {
    0% {
      transform: scale(0.5) rotate(-25deg);
    }
    55% {
      transform: scale(1.18) rotate(8deg);
    }
    100% {
      transform: scale(1) rotate(0);
    }
  }

  @keyframes slot25Shine {
    0% {
      left: -130px;
    }
    45%,
    100% {
      left: 120%;
    }
  }

  @keyframes slot25Star {
    to {
      transform: rotate(360deg);
    }
  }

  @media (max-width: 480px) {
    .slot25-lucky-box {
      padding: 27px 15px 23px;
      border-radius: 20px;
    }

    .slot25-lucky-box h2 {
      font-size: 23px;
      letter-spacing: 0.4px;
    }

    .slot25-number-area {
      gap: 8px;
      padding: 17px 9px;
    }

    .slot25-ball {
      width: 57px;
      height: 57px;
      font-size: 23px;
    }

    .slot25-button {
      font-size: 12px;
    }
  }
</style>

<script>
  (function () {
    const button = document.getElementById("slot25LuckyButton");
    const buttonText = document.getElementById("slot25ButtonText");
    const numberArea = document.getElementById("slot25NumberArea");
    const balls = numberArea.querySelectorAll(".slot25-ball");
    const status = document.getElementById("slot25Status");

    let isRolling = false;

    function randomDigit() {
      return Math.floor(Math.random() * 10);
    }

    button.addEventListener("click", function () {
      if (isRolling) return;

      isRolling = true;
      button.disabled = true;
      buttonText.textContent = "MENGACAK ANGKA...";
      status.textContent = "Sedang membuka angka keberuntunganmu...";
      numberArea.classList.remove("slot25-finished");
      numberArea.classList.add("slot25-rolling");

      const rollingInterval = setInterval(function () {
        balls.forEach(function (ball) {
          ball.textContent = randomDigit();
        });
      }, 80);

      setTimeout(function () {
        clearInterval(rollingInterval);

        const finalNumbers = [];

        balls.forEach(function (ball, index) {
          setTimeout(function () {
            const digit = randomDigit();
            finalNumbers.push(digit);
            ball.textContent = digit;

            if (index === balls.length - 1) {
              numberArea.classList.remove("slot25-rolling");
              void numberArea.offsetWidth;
              numberArea.classList.add("slot25-finished");

              button.disabled = false;
              buttonText.textContent = "COBA ANGKA LAIN";
              status.textContent =
                "Angka keberuntunganmu: " +
                Array.from(balls)
                  .map(function (item) {
                    return item.textContent;
                  })
                  .join("");

              isRolling = false;
            }
          }, index * 230);
        });
      }, 1400);
    });
  })();
</script>
              
              <!-- MECHA BLUE FINAL BOSS REVIEW SLIDER -->
  <div class="tnt-review-mecha">

    </div>
    </div>

<!-- RUNNING TEXT SLOT25 -->
<div class="slot25-running-text">
  <div class="slot25-running-label">INFO</div>

  <div class="slot25-running-track">
    <div class="slot25-running-content">
      <span>
        Ya, platform ini dirancang dengan antarmuka yang sangat ramah pengguna
        (user-friendly), sehingga memudahkan siapa saja, baik pemula maupun
        pemain berpengalaman, untuk melakukan navigasi di dalam situs tanpa
        kebingungan.
      </span>

      <span aria-hidden="true">
        Ya, platform ini dirancang dengan antarmuka yang sangat ramah pengguna
        (user-friendly), sehingga memudahkan siapa saja, baik pemula maupun
        pemain berpengalaman, untuk melakukan navigasi di dalam situs tanpa
        kebingungan.
      </span>
    </div>
  </div>
</div>

<style>
  .slot25-running-text,
  .slot25-running-text * {
    box-sizing: border-box;
  }

  .slot25-running-text {
    width: 100%;
    max-width: 900px;
    min-height: 52px;
    margin: 20px auto;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid #f6c800;
    border-radius: 12px;
    background: linear-gradient(180deg, #171717 0%, #050505 100%);
    box-shadow:
      0 0 15px rgba(246, 200, 0, 0.25),
      0 10px 25px rgba(0, 0, 0, 0.35);
    font-family: Arial, Helvetica, sans-serif;
  }

  .slot25-running-label {
    min-width: 85px;
    padding: 0 18px;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #ffd900, #e5a900);
    color: #080808;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    box-shadow: 5px 0 18px rgba(0, 0, 0, 0.45);
  }

  .slot25-running-label::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -10px;
    width: 20px;
    height: 20px;
    background: #eeb900;
    transform: translateY(-50%) rotate(45deg);
    z-index: -1;
  }

  .slot25-running-track {
    flex: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    position: relative;
  }

  .slot25-running-track::before,
  .slot25-running-track::after {
    content: "";
    width: 35px;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 1;
    pointer-events: none;
  }

  .slot25-running-track::before {
    left: 0;
    background: linear-gradient(90deg, #111111, transparent);
  }

  .slot25-running-track::after {
    right: 0;
    background: linear-gradient(270deg, #050505, transparent);
  }

  .slot25-running-content {
    width: max-content;
    display: flex;
    align-items: center;
    white-space: nowrap;
    animation: slot25RunningText 28s linear infinite;
  }

  .slot25-running-content span {
    display: inline-flex;
    align-items: center;
    padding-left: 70px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.15);
  }

  .slot25-running-content span::before {
    content: "✦";
    margin-right: 15px;
    color: #ffd400;
    font-size: 18px;
    text-shadow: 0 0 10px rgba(255, 212, 0, 0.8);
  }

  .slot25-running-text:hover .slot25-running-content {
    animation-play-state: paused;
  }

  @keyframes slot25RunningText {
    from {
      transform: translateX(0);
    }

    to {
      transform: translateX(-50%);
    }
  }

  @media (max-width: 600px) {
    .slot25-running-text {
      min-height: 48px;
      border-radius: 9px;
    }

    .slot25-running-label {
      min-width: 68px;
      padding: 0 12px;
      font-size: 12px;
    }

    .slot25-running-content span {
      padding-left: 50px;
      font-size: 13px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .slot25-running-content {
      animation-play-state: paused;
    }
  }
</style>

  </div>


  <style>
  /* CONTAINER */
  .article-pro {
    max-width: 1000px;
    margin: 40px auto;
    padding: 30px 25px;
    background: #ffffff; /* 🔥 UBAH JADI PUTIH */
    border-radius: 18px;
    border: 2px solid #ffd700;
    box-shadow: 0 0 20px rgba(178, 171, 32, 0.2);
    font-family: "Poppins", sans-serif;
    color: #000000; /* 🔥 TEKS JADI HITAM */
    line-height: 1.8;
    position: relative;
    overflow: hidden;
  }

  /* ✨ CAHAYA GERAK */
  .article-pro::before {
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 50%;
    height: 100%;
    background: linear-gradient(
      120deg,
      transparent,
      rgba(255, 240, 81, 0.49),
      transparent
    );
    transform: skewX(-20deg);
    animation: shineMove 4s linear infinite;
  }

  /* ✨ GLOW DALAM */
  .article-pro::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 18px;
    box-shadow: inset 0 0 15px rgba(178, 166, 32, 0.15);
    pointer-events: none;
  }

  /* ANIMASI */
  @keyframes shineMove {
    0% { left: -150%; }
    100% { left: 150%; }
  }

  /* PARAGRAF */
  .article-pro p {
    font-size: 15px;
    margin-bottom: 18px;
    text-align: justify;
    color: #1e293b; /* 🔥 warna teks gelap biar enak dibaca */
    position: relative;
    z-index: 2;
  }

  /* HOVER PARAGRAF */
  .article-pro p:hover {
    color: #000000;
    text-shadow: 0 0 6px rgba(178, 166, 32, 0.4);
    transition: 0.3s;
  }

  /* LINK */
  .article-pro a {
    color: #d3b300;
    text-decoration: none;
    font-weight: 600;
  }

  .article-pro a:hover {
    text-shadow: 0 0 8px #ffd700;
  }

  /* RESPONSIVE */
  @media(max-width:600px){
    .article-pro{
      padding:20px 15px;
    }
  }
  </style>

  <div class="article-pro">

   <p>
    <h1>Slot25 ✔️ Login Alternatif Slot 25 Gacor Angka Pasaran Toto Macau Meningkat Pesat</h1>
<p>Gunakan link login alternatif <a href="https://pafikecindragiri.org/">Slot25</a> untuk akses taruhan slot gacor paling aman sekaligus pantau angka pasaran Toto Macau yang terbukti meningkat pesat hari ini!</p>
<P>Menemukan sebuah platform hiburan digital yang tidak hanya menyediakan permainan mesin slot modern tetapi juga menyajikan data taruhan tebak angka secara akurat adalah kombinasi yang sangat langka. Di tengah ketatnya persaingan industri taruhan daring, Slot25 berhasil mengukuhkan posisinya sebagai destinasi utama bagi para pemain yang menginginkan efisiensi, keamanan, dan peluang kemenangan tinggi dalam satu wadah. Melalui penyediaan akses yang terus diperbarui, platform ini menjamin setiap anggota dapat menikmati permainan favorit mereka tanpa kendala teknis ataupun pemblokiran sepihak.</P>
<P>Bagi para penikmat taruhan yang mengutamakan kelancaran akses, menggunakan login alternatif <a href="https://pafikecindragiri.org/">slot 25</a> merupakan langkah paling bijak untuk memastikan akun Anda tetap aman dan terhubung langsung ke server pusat yang stabil. Artikel ini akan mengupas tuntas mengapa platform resmi ini menjadi begitu populer, bagaimana pembaruan sistemnya membantu para pemain slot mendapatkan ritme permainan yang optimal, serta mengapa integrasi data angka pasaran Toto Macau di platform ini mengalami peningkatan minat yang luar biasa pesat.</P>
<H2>Mengapa Memilih Slot25 Sebagai Hub Taruhan Utama Anda?</H2>
<P>Sebagai pemain, Anda tentu memahami bahwa stabilitas sebuah situs adalah kunci kenyamanan. Kehadiran <a href="https://pafikecindragiri.org/">situs slot25</a> memberikan jawaban atas kekhawatiran para pemain mengenai masalah pemblokiran link (internet positif) yang sering terjadi di Indonesia. Dengan komitmen pelayanan jangka panjang dari tahun 2023 hingga 2026, manajemen platform ini secara konsisten merilis tautan-tautan baru yang aman dan terenkripsi.</P>
<P>Berikut adalah beberapa keunggulan utama yang membuat para pemain betah menjadikan platform ini sebagai rumah taruhan mereka:</P>
<UL>
    <li>Keamanan Data Tingkat Tinggi: Setiap data yang Anda masukkan saat pendaftaran maupun transaksi dienkripsi menggunakan protokol SSL mutakhir, sehingga tidak ada celah bagi pihak ketiga untuk menyalahgunakan informasi pribadi Anda.</li>
    <li>Sistem Transaksi Termudah dan Tercepat: Mengakomodasi modal bermain yang sangat terjangkau, platform ini menyediakan jalur deposit mulai dari 10 ribuan saja melalui berbagai opsi lokal seperti transfer bank, e-wallet (Dana, Ovo, Gopay, LinkAja), hingga sistem QRIS yang memproses dana dalam hitungan detik.</li>
    <li>Layanan Konsumen 24 Jam Nonstop: Kapan pun Anda menghadapi kendala saat melakukan login atau membutuhkan informasi mengenai pembaruan link, tim dukungan pelanggan yang profesional siap membantu melalui layanan Live Chat maupun WhatsApp.</li>
</UL>
<h2>Eksklusivitas Fitur Slot 25 Gacor dan Fenomena Scatter Hitam</h2>
<p>Salah satu alasan mengapa pencarian terhadap kata kunci Slot25 melonjak tajam di mesin pencari adalah karena reputasi sistem permainannya yang adil (fairplay) dan tingkat pengembalian ke pemain (RTP) yang konsisten di atas rata-rata. Melalui <a href="https://pafikecindragiri.org/">website slot25</a>, Anda dapat memantau pergerakan RTP secara langsung (real-time) untuk menentukan kapan waktu terbaik memutar mesin digital pada permainan-permainan populer.</p>
<p>Belakangan ini, komunitas pemain dihebohkan dengan fitur "Scatter Hitam" yang kerap muncul di beberapa permainan eksklusif yang bekerja sama dengan provider papan atas seperti Pragmatic Play dan PG Soft. Fitur ini menjadi incaran karena potensinya dalam memicu babak bonus dengan perkalian (multiplier) raksasa yang melipatgandakan nilai taruhan awal secara instan. Dengan modal minimal, siapa pun kini memiliki peluang yang sama untuk merasakan kemenangan maksimal tanpa perlu membuang modal besar di awal taruhan.</p>
<h2>Sinergi Data: Angka Pasaran Toto Macau Meningkat Pesat</h2>
<p>Tidak hanya berfokus pada variasi permainan slot modern, platform ini juga menjawab kebutuhan para pecinta taruhan angka atau lotre darat yang kini beralih ke ranah digital. Fenomena menarik terlihat dari bagaimana volume pencarian dan taruhan pada angka pasaran <a href="https://pafikecindragiri.org/">Toto Macau</a> meningkat pesat di dalam platform ini.</p>
<p>Toto Macau menjadi primadona baru di kalangan pemain karena menawarkan frekuensi pengundian yang lebih banyak dalam satu hari dibandingkan pasaran konvensional lainnya. Melalui pemanfaatan data statistik yang disajikan secara transparan di dalam situs, para pemain dapat melakukan analisis mendalam, merumuskan prediksi, dan memasang taruhan angka jitu mereka dengan tingkat akurasi yang lebih baik. Kecepatan pembaruan hasil keluaran (result Macau) di platform ini menjadikannya rujukan nomor satu bagi para prediktor ulung.</p>
<h2>Panduan Langkah Mudah Akses dan Pendaftaran Akun Resmi</h2>
<p>Untuk Anda yang ingin segera memulai perjalanan taruhan yang aman dan menguntungkan, berikut adalah langkah-langkah terstruktur yang wajib Anda ikuti agar terhindar dari situs tiruan yang merugikan:</p>
<ul>
    <h3>Langkah 1: Akses Link Resmi Terpercaya</h3>
    <li>Pastikan Anda hanya menggunakan tautan yang valid dan terverifikasi aman melalui login alternatif slot 25 resmi guna menghindari kejahatan siber seperti phishing.</li>
    <h3>Langkah 2: Pengisian Formulir Pendaftaran</h3>
     <li>Klik tombol daftar yang tersedia di halaman utama, lalu isi data diri Anda dengan benar, termasuk nama pengguna, kata sandi, alamat email, serta nomor rekening atau e-wallet yang valid untuk kelancaran proses penarikan dana (withdraw).</li>
     <h3>Langkah 3: Deposit Modal Minimal</h3>
      <li>Lakukan pengisian saldo akun dengan memanfaatkan fasilitas deposit termudah 10 ribuan melalui metode pembayaran yang paling praktis bagi Anda.</li>
      <h3>Langkah 4: Pilih Permainan dan Mulai Bertaruh</h3>
       <li>Setelah saldo terisi, Anda bebas memilih apakah ingin berburu putaran gratis di permainan slot yang sedang naik daun atau memasang angka keberuntungan Anda pada pasaran Toto Macau yang sedang ramai dimainkan.</li>
</ul>
<h2>Akhir Kesimpulan</h2>
<p>Membangun pengalaman bertaruh yang sehat dan menguntungkan dimulai dari pemilihan platform yang tepat. Slot25 telah membuktikan diri sebagai situs yang konsisten memberikan rasa aman melalui penyediaan login alternatif slot 25 yang tangguh, sistem permainan slot gacor yang transparan dengan peluang scatter hitam yang tinggi, serta kelengkapan data toto angka yang sangat diminati. Dengan modal yang sangat terjangkau, layanan tanpa henti, dan reputasi yang terjaga, tidak heran jika platform ini terus menjadi pilihan nomor satu bagi para penikmat taruhan digital di Indonesia. Segera amankan akun Anda dan rasakan sendiri sensasi kemenangan yang nyata hari ini!</p>
  </p>


  </div>
  <style>
  body{
      background:#ffffff;
      font-family:'Segoe UI',sans-serif;
      margin:0;
  }

  /* WRAP */
  .sgt-wrap{
      max-width:1100px;
      margin:60px auto;
      padding:0 20px;
  }

  /* =========================
    MAIN BOX + GLOW ANIMATION
  ========================= */
  .sgt-box{
      background:#ffffff;
      border-radius:20px;
      padding:40px;
      border:1px solid rgba(178, 171, 32, 0.35);
      position:relative;
      overflow:hidden;

      box-shadow:0 0 15px rgba(178, 159, 32, 0.15);
      animation: boxGlow 2.8s infinite ease-in-out;
  }

  /* glow pulse */
  @keyframes boxGlow{
      0%{
          box-shadow:0 0 10px rgba(178, 156, 32, 0.15),
                    0 0 0px rgba(178, 163, 32, 0);
      }
      50%{
          box-shadow:0 0 25px rgba(178, 161, 32, 0.55),
                    0 0 60px rgba(178, 168, 32, 0.25);
      }
      100%{
          box-shadow:0 0 10px rgba(178, 151, 32, 0.15),
                    0 0 0px rgba(178, 32, 32, 0);
      }
  }

  /* SHINE EFFECT DI BOX */
  .sgt-box::after{
      content:"";
      position:absolute;
      top:0;
      left:-75%;
      width:50%;
      height:100%;
      background:linear-gradient(
          120deg,
          transparent,
          rgba(255, 238, 106, 0.25),
          transparent
      );
      animation: shine 3.5s infinite;
  }

  @keyframes shine{
      0%{ left:-75%; }
      100%{ left:125%; }
  }

  /* TITLE */
  .sgt-title{
      text-align:center;
      font-size:26px;
      font-weight:700;
      color:#ebcc1b;
      margin-bottom:25px;
  }

  /* =========================
    FAQ CARD + GLOW
  ========================= */
  .sgt-faq{
      background:#f8fafc;
      border-radius:14px;
      margin-bottom:14px;
      cursor:pointer;
      border:1px solid rgba(178, 166, 32, 0.25);
      transition:0.3s;
      position:relative;
      overflow:hidden;
  }

  /* glow subtle tiap kotak */
  .sgt-faq::after{
      content:"";
      position:absolute;
      inset:0;
      background:radial-gradient(circle at top left,
          rgba(255, 238, 0, 0.398),
          transparent 60%);
      opacity:0;
      transition:0.3s;
  }

  .sgt-faq:hover::after{
      opacity:1;
  }

  .sgt-faq:hover{
      transform:translateY(-3px);
      box-shadow:0 0 20px rgba(0, 0, 0, 0.25);
      border-color:#b29a20;
  }

  /* QUESTION */
  .sgt-question{
      padding:18px 20px;
      display:flex;
      justify-content:space-between;
      font-weight:600;
      font-size:16px;
      color:#0f172a;
  }

  .sgt-icon{
      color:#b29c20;
  }

  /* ANSWER */
  .sgt-answer{
      max-height:0;
      overflow:hidden;
      padding:0 20px;
      font-size:15px;
      color:#475569;
      transition:0.3s;
  }

  .sgt-faq.active .sgt-answer{
      max-height:250px;
      padding:15px 20px;
  }

  /* =========================
    REVIEW CARD + GLOW
  ========================= */
  .sgt-review{
      background:#f8fafc;
      padding:18px;
      border-radius:14px;
      margin-top:12px;
      border:1px solid rgba(32,178,170,0.25);
      color:#334155;
      position:relative;
      overflow:hidden;
      transition:0.3s;
  }

  /* glow sweep review */
  .sgt-review::after{
      content:"";
      position:absolute;
      top:0;
      left:-80%;
      width:50%;
      height:100%;
      background:linear-gradient(
          120deg,
          transparent,
          rgba(178, 159, 32, 0.25),
          transparent
      );
      animation: shine 4s infinite;
  }

  .sgt-review:hover{
      transform:translateY(-3px);
      box-shadow:0 0 20px rgba(178, 161, 32, 0.25);
      border-color:#ffd700;
  }

  .sgt-name{
      color:#d8b800;
      font-weight:700;
      margin-bottom:6px;
      position:relative;
      z-index:2;
  }

  /* FOOTER */
  .sgt-footer{
      margin-top:30px;
      padding-top:18px;
      border-top:1px solid rgba(178, 159, 32, 0.2);
      text-align:center;
      font-size:14px;
      color:#8b8a64;
  }

  /* RESPONSIVE */
  @media(max-width:768px){
      .sgt-box{
          padding:25px;
      }
      .sgt-title{
          font-size:20px;
      }
  }
  </style>
  </head>

  <body>

  <div class="sgt-wrap">
  <div class="sgt-box">

  <div class="sgt-title">
  FAQ TENTANG SLOT25
  </div>

  <h3 class="sgt-title">FAQ SEPUTARAN PEMAIN SLOT25</h3>

  <div class="sgt-faq">
  <div class="sgt-question">Apa itu Slot25?<span class="sgt-icon">▼</span></div>
  <div class="sgt-answer">Slot25 merupakan platform permainan online yang menyediakan akses login alternatif, informasi slot 25 gacor, serta pembaruan angka pasaran Toto Macau dalam satu halaman.</div>
  </div>

  <div class="sgt-faq">
  <div class="sgt-question">Bagaimana cara menggunakan link login alternatif Slot25?<span class="sgt-icon">▼</span></div>
  <div class="sgt-answer">Pengguna dapat membuka link login alternatif Slot25 melalui perangkat desktop maupun smartphone, lalu memasukkan data akun pada halaman login resmi yang tersedia.</div>
  </div>

  <div class="sgt-faq">
  <div class="sgt-question">Apa fungsi link alternatif Slot25?<span class="sgt-icon">▼</span></div>
  <div class="sgt-answer">Link alternatif Slot25 berfungsi sebagai jalur akses cadangan ketika alamat utama mengalami kendala, pemeliharaan, atau sulit dibuka melalui jaringan tertentu.</div>
  </div>

  <div class="sgt-faq">
  <div class="sgt-question">Apakah Slot25 menyediakan informasi Toto Macau?<span class="sgt-icon">▼</span></div>
  <div class="sgt-answer">Ya, Slot25 menghadirkan informasi angka pasaran Toto Macau yang dapat dipantau melalui halaman terkait sesuai jadwal pembaruan yang tersedia.</div>
  </div>

  <div class="sgt-faq">
  <div class="sgt-question">Apakah Slot25 dapat diakses melalui perangkat mobile?<span class="sgt-icon">▼</span></div>
  <div class="sgt-answer">Slot25 dirancang responsif sehingga link login alternatif Slot25 dapat dibuka melalui Android, iPhone, tablet, laptop, maupun komputer.</div>
  </div>

  <div class="sgt-faq">
  <div class="sgt-question">Bagaimana cara memastikan link Slot25 aman digunakan?<span class="sgt-icon">▼</span></div>
  <div class="sgt-answer">Pastikan alamat Slot25 menggunakan koneksi HTTPS, memiliki nama domain yang sesuai, dan tidak meminta data sensitif di luar informasi login akun.</div>
  </div>

<style>
.testimonials-container {
  margin: 40px 0;
}

.testimonials-heading {
  text-align: center;
  margin-bottom: 50px;
}

.testimonials-title {
  font-size: 28px;
  font-weight: 700;
  color: #222;
  margin: 0 0 10px 0;
}

.testimonials-subtitle {
  font-size: 14px;
  color: #777;
  margin: 0;
  line-height: 1.6;
}

.testimonials-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  margin: 60px auto;
  padding: 50px 40px;
  background: #f8f8f8;
  border-radius: 8px;
  max-width: 1300px;
}

.testimonial-item {
  background: white;
  padding: 25px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
  border-left: 5px solid #FFD700;
  display: flex;
  flex-direction: column;
  aspect-ratio: 1 / 1;
  justify-content: space-between;
}

.testimonial-item:hover {
  box-shadow: 0 6px 16px rgba(0,0,0,0.15);
  transform: translateY(-3px);
}

.review-text {
  font-size: 13px;
  color: #555;
  line-height: 1.6;
  margin-bottom: 12px;
  font-style: italic;
  flex-grow: 1;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 7;
  -webkit-box-orient: vertical;
}

.review-text::before {
  content: '"';
  font-size: 20px;
  color: #FFD700;
  margin-right: 3px;
  vertical-align: super;
}

.review-text::after {
  content: '"';
  font-size: 20px;
  color: #FFD700;
  margin-left: 3px;
  vertical-align: super;
}

.review-name {
  font-weight: 700;
  color: #222;
  margin-top: 8px;
  margin-bottom: 6px;
  font-size: 13px;
}

.review-status {
  display: inline-block;
  font-size: 10px;
  background: #FFD700;
  color: #333;
  padding: 4px 10px;
  border-radius: 12px;
  font-weight: 700;
  letter-spacing: 0.3px;
}

@media (max-width: 1280px) {
  .testimonials-wrapper {
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    padding: 40px 30px;
    max-width: 1200px;
  }
}

@media (max-width: 1024px) {
  .testimonials-wrapper {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    padding: 30px 25px;
    max-width: 900px;
  }
}

@media (max-width: 768px) {
  .testimonials-wrapper {
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 20px;
  }

  .testimonial-item {
    padding: 18px;
    min-height: auto;
  }

  .review-text {
    font-size: 12px;
    margin-bottom: 12px;
  }

  .review-name {
    font-size: 12px;
  }

  .review-status {
    font-size: 10px;
    padding: 2px 8px;
  }
}
</style>
<div class="testimonials-container">
  <div class="testimonials-heading">
    <h2 class="testimonials-title">Testimoni Pengguna SLOT25</h2>
    <p class="testimonials-subtitle">Pengalaman pengguna dalam memanfaatkan strategi dan pola bermain secara lebih bijak</p>
  </div>
  
  <div class="testimonials-wrapper">
    <div class="testimonial-item">
      <p class="review-text">Sejak pakai link login alternatif Slot25, saya hampir tidak pernah mengalami kendala saat masuk. Halaman terbuka cepat dan informasi angka pasaran Toto Macau juga selalu mudah dipantau setiap harinya.</p>
      <p class="review-name">Raka Pranadipa Kusuma</p>
      <span class="review-status">Login Alternatif Slot25 Sangat Stabil</span>
    </div>
    <div class="testimonial-item">
      <p class="review-text">Yang saya suka dari Slot25 adalah tampilannya sederhana dan update angka pasaran Toto Macau terasa lebih praktis untuk diikuti. Proses login juga lancar baik lewat HP maupun laptop.</p>
      <p class="review-name">Dimas Arvendra Wijaya</p>
      <span class="review-status">Update Toto Macau Selalu Mudah Dipantau</span>
    </div>
    <div class="testimonial-item">
      <p class="review-text">Beberapa kali menggunakan link alternatif Slot25 dan semuanya berjalan normal. Tidak perlu bingung mencari akses baru karena halaman login selalu responsif dan mudah dibuka.</p>
      <p class="review-name">Kevin Mahardika</p>
      <span class="review-status">Pengalaman Akses yang Nyaman</span>
    </div>
    <div class="testimonial-item">
      <p class="review-text">Saya rutin membuka Slot25 untuk melihat informasi terbaru seputar slot dan Toto Macau. Navigasinya enak dipakai, loading cepat, dan link alternatifnya sangat membantu ketika alamat utama sulit diakses.</p>
      <p class="review-name">Rizky Adhitama Prasetya</p>
      <span class="review-status">Slot25 Jadi Pilihan Akses Harian</span>
    </div>
    <div class="testimonial-item">
      <p class="review-text">Menurut saya Slot25 punya halaman login yang ringan dan tidak ribet. Semua menu tertata rapi sehingga mencari informasi maupun masuk ke akun terasa jauh lebih nyaman.</p>
      <p class="review-name">Farel Wicaksana Kusuma</p>
      <span class="review-status">Login Cepat dengan Tampilan Bersih</span>
    </div>
    <div class="testimonial-item">
      <p class="review-text">Slot25 memudahkan saya karena login alternatif dan informasi angka pasaran Toto Macau tersedia dalam satu halaman. Tidak perlu berpindah-pindah situs sehingga lebih praktis digunakan setiap hari.</p>
      <p class="review-name">Arya Prasetyo Putri</p>
      <span class="review-status">Informasi Lengkap dalam Satu Tempat</span>
    </div>
  </div>
</div>

  <div class="sgt-footer">
  ©2026 SEO MUH.RIPAN | SLOT25
  </div>

  <!-- PANEL LINK ALTERNATIF SLOT25 -->
<div class="slot25-link-panel">
  <div class="slot25-link-badge">SLOT25 • AKSES ALTERNATIF</div>

  <h2>LOGIN ALTERNATIF SLOT25</h2>
  <p class="slot25-link-desc">
    Pilih jalur akses Slot25 yang tersedia, lalu buka atau salin alamatnya.
  </p>

  <div class="slot25-link-list">

    <div class="slot25-link-item" data-url="https://25slosedap.site/">
      <div class="slot25-link-number">01</div>

      <div class="slot25-link-info">
        <strong>Slot25 Link Utama</strong>
        <span class="slot25-link-url">domain-slot25-utama.com</span>
      </div>

      <div class="slot25-link-status">
        <i></i> TERSEDIA
      </div>

      <div class="slot25-link-actions">
        <button type="button" class="slot25-copy-link">SALIN</button>
        <button type="button" class="slot25-open-link">BUKA</button>
      </div>
    </div>

    <div class="slot25-link-item" data-url="https://copslo25.site">
      <div class="slot25-link-number">02</div>

      <div class="slot25-link-info">
        <strong>Slot25 Link Alternatif 1</strong>
        <span class="slot25-link-url">domain-slot25-alternatif.com</span>
      </div>

      <div class="slot25-link-status">
        <i></i> TERSEDIA
      </div>

      <div class="slot25-link-actions">
        <button type="button" class="slot25-copy-link">SALIN</button>
        <button type="button" class="slot25-open-link">BUKA</button>
      </div>
    </div>

    <div class="slot25-link-item" data-url="https://jawaraslo25.site">
      <div class="slot25-link-number">03</div>

      <div class="slot25-link-info">
        <strong>Slot25 Link Alternatif 2</strong>
        <span class="slot25-link-url">domain-slot25-cadangan.com</span>
      </div>

      <div class="slot25-link-status">
        <i></i> TERSEDIA
      </div>

      <div class="slot25-link-actions">
        <button type="button" class="slot25-copy-link">SALIN</button>
        <button type="button" class="slot25-open-link">BUKA</button>
      </div>
    </div>

  </div>

  <div class="slot25-link-message" id="s25LinkMessage">
    Pilih salah satu akses alternatif Slot25 di atas.
  </div>

  <div class="slot25-last-access">
    Akses terakhir:
    <strong id="s25LastAccess">Belum ada</strong>
  </div>
</div>

<style>
  .slot25-link-panel,
  .slot25-link-panel * {
    box-sizing: border-box;
  }

  .slot25-link-panel {
    width: 100%;
    max-width: 680px;
    margin: 25px auto;
    padding: 28px 20px;
    overflow: hidden;
    position: relative;
    border: 1px solid #ffd000;
    border-radius: 24px;
    background:
      radial-gradient(
        circle at 50% 0,
        rgba(255, 215, 0, 0.24),
        transparent 40%
      ),
      linear-gradient(145deg, #171717, #030303);
    box-shadow:
      0 0 25px rgba(255, 208, 0, 0.23),
      0 20px 45px rgba(0, 0, 0, 0.45);
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
  }

  .slot25-link-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      repeating-linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.018) 0,
        rgba(255, 255, 255, 0.018) 2px,
        transparent 2px,
        transparent 12px
      );
  }

  .slot25-link-badge {
    width: max-content;
    max-width: 100%;
    margin: 0 auto 13px;
    padding: 8px 18px;
    position: relative;
    border: 1px solid rgba(255, 208, 0, 0.5);
    border-radius: 50px;
    background: rgba(255, 208, 0, 0.1);
    color: #ffd000;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.5px;
  }

  .slot25-link-panel h2 {
    margin: 0;
    position: relative;
    color: #fff;
    text-align: center;
    font-size: clamp(22px, 5vw, 31px);
    font-weight: 900;
    line-height: 1.2;
  }

  .slot25-link-desc {
    max-width: 500px;
    margin: 10px auto 23px;
    position: relative;
    color: #cfcfcf;
    text-align: center;
    font-size: 14px;
    line-height: 1.6;
  }

  .slot25-link-list {
    display: grid;
    gap: 13px;
    position: relative;
  }

  .slot25-link-item {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 13px;
    align-items: center;
    padding: 14px;
    border: 1px solid #2f2f2f;
    border-radius: 16px;
    background: linear-gradient(145deg, #1b1b1b, #0c0c0c);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.04),
      0 8px 18px rgba(0, 0, 0, 0.25);
    transition:
      transform 0.2s ease,
      border-color 0.2s ease;
  }

  .slot25-link-item:hover {
    transform: translateY(-2px);
    border-color: #ffd000;
  }

  .slot25-link-number {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: linear-gradient(145deg, #ffe35a, #dca700);
    box-shadow: 0 0 14px rgba(255, 208, 0, 0.27);
    color: #111;
    font-size: 16px;
    font-weight: 900;
  }

  .slot25-link-info {
    min-width: 0;
  }

  .slot25-link-info strong {
    display: block;
    margin-bottom: 5px;
    color: #fff;
    font-size: 15px;
  }

  .slot25-link-url {
    display: block;
    overflow: hidden;
    color: #a9a9a9;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .slot25-link-status {
    color: #63df7d;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.7px;
  }

  .slot25-link-status i {
    width: 8px;
    height: 8px;
    display: inline-block;
    margin-right: 4px;
    border-radius: 50%;
    background: #42e568;
    box-shadow: 0 0 8px #42e568;
    animation: s25StatusPulse 1.3s infinite;
  }

  .slot25-link-actions {
    grid-column: 2 / 4;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
  }

  .slot25-link-actions button {
    min-height: 40px;
    cursor: pointer;
    border-radius: 10px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 900;
    transition:
      transform 0.2s ease,
      opacity 0.2s ease;
  }

  .slot25-link-actions button:hover {
    transform: translateY(-1px);
    opacity: 0.9;
  }

  .slot25-copy-link {
    border: 1px solid #424242;
    background: #181818;
    color: #fff;
  }

  .slot25-open-link {
    border: 1px solid #ffe45f;
    background: linear-gradient(145deg, #ffdc25, #dfa500);
    color: #111;
  }

  .slot25-link-message {
    margin-top: 17px;
    padding: 13px 15px;
    position: relative;
    border: 1px solid rgba(255, 208, 0, 0.25);
    border-radius: 12px;
    background: rgba(255, 208, 0, 0.07);
    color: #e9e9e9;
    text-align: center;
    font-size: 13px;
    line-height: 1.5;
  }

  .slot25-last-access {
    margin-top: 13px;
    position: relative;
    color: #999;
    text-align: center;
    font-size: 11px;
  }

  .slot25-last-access strong {
    color: #ffd000;
  }

  @keyframes s25StatusPulse {
    50% {
      opacity: 0.35;
      transform: scale(0.8);
    }
  }

  @media (min-width: 620px) {
    .slot25-link-item {
      grid-template-columns: 48px minmax(0, 1fr) auto auto;
    }

    .slot25-link-actions {
      grid-column: auto;
      display: flex;
    }

    .slot25-link-actions button {
      min-width: 67px;
      padding: 0 12px;
    }
  }

  @media (max-width: 430px) {
    .slot25-link-panel {
      padding: 24px 13px;
      border-radius: 19px;
    }

    .slot25-link-status {
      font-size: 9px;
    }
  }
</style>

<script>
  (function () {
    const panel = document.querySelector(".slot25-link-panel");

    if (!panel) return;

    const message = document.getElementById("s25LinkMessage");
    const lastAccess = document.getElementById("s25LastAccess");
    const savedAccess = localStorage.getItem("s25_last_access");

    if (savedAccess) {
      lastAccess.textContent = savedAccess;
    }

    panel.querySelectorAll(".slot25-link-item").forEach(function (item) {
      const url = item.getAttribute("data-url");
      const name = item.querySelector("strong").textContent;
      const copyButton = item.querySelector(".slot25-copy-link");
      const openButton = item.querySelector(".slot25-open-link");

      copyButton.addEventListener("click", async function () {
        try {
          await navigator.clipboard.writeText(url);
          message.textContent = name + " berhasil disalin.";
          copyButton.textContent = "TERSALIN";

          setTimeout(function () {
            copyButton.textContent = "SALIN";
          }, 1600);
        } catch (error) {
          const input = document.createElement("textarea");
          input.value = url;
          document.body.appendChild(input);
          input.select();
          document.execCommand("copy");
          input.remove();

          message.textContent = name + " berhasil disalin.";
        }
      });

      openButton.addEventListener("click", function () {
        localStorage.setItem("s25_last_access", name);
        lastAccess.textContent = name;
        message.textContent = "Membuka " + name + "...";

        window.open(url, "_blank", "noopener,noreferrer");
      });
    });
  })();
</script>

<!-- PENCATAT ANGKA TOTO MACAU SLOT25 -->
<div class="slot25-toto-tool">
  <div class="slot25-toto-badge">SLOT25 • TOTO MACAU 4D</div>

  <h2>PENCATAT ANGKA 4D</h2>

  <p class="slot25-toto-intro">
    Simpan hasil angka Toto Macau dan lihat frekuensi setiap digit secara
    otomatis.
  </p>

  <form class="slot25-toto-form" id="s25TotoForm">
    <label for="s25TotoInput">Masukkan angka empat digit</label>

    <div class="slot25-input-wrap">
      <input
        id="s25TotoInput"
        type="text"
        inputmode="numeric"
        maxlength="4"
        autocomplete="off"
        placeholder="Contoh: 8434"
        aria-label="Masukkan angka Toto Macau empat digit"
      />

      <button type="submit">SIMPAN ANGKA</button>
    </div>

    <div class="slot25-toto-notice" id="s25TotoNotice">
      Masukkan tepat empat digit dari 0000 sampai 9999.
    </div>
  </form>

  <div class="slot25-latest-result">
    <span>ANGKA TERAKHIR</span>

    <div class="slot25-result-balls" id="s25ResultBalls">
      <i>?</i>
      <i>?</i>
      <i>?</i>
      <i>?</i>
    </div>
  </div>

  <div class="slot25-stat-grid">
    <div class="slot25-stat-box">
      <span>Total Data</span>
      <strong id="s25TotalData">0</strong>
    </div>

    <div class="slot25-stat-box">
      <span>Digit Teratas</span>
      <strong id="s25TopDigit">-</strong>
    </div>

    <div class="slot25-stat-box">
      <span>Jumlah Muncul</span>
      <strong id="s25TopCount">0</strong>
    </div>
  </div>

  <div class="slot25-frequency-section">
    <div class="slot25-section-title">
      <h3>FREKUENSI DIGIT 0–9</h3>
      <span>Berdasarkan data yang disimpan</span>
    </div>

    <div class="slot25-frequency-list" id="s25FrequencyList"></div>
  </div>

  <div class="slot25-history-section">
    <div class="slot25-section-title slot25-history-heading">
      <div>
        <h3>RIWAYAT ANGKA</h3>
        <span>Tersimpan pada perangkat ini</span>
      </div>

      <button type="button" id="s25DeleteAll">HAPUS SEMUA</button>
    </div>

    <div class="slot25-history-list" id="s25HistoryList">
      <div class="slot25-empty-history">Belum ada angka yang disimpan.</div>
    </div>
  </div>

  <div class="slot25-toto-disclaimer">
    Data frekuensi hanya berasal dari angka yang dimasukkan dan bukan prediksi
    hasil atau jaminan kemenangan.
  </div>
</div>

<style>
  .slot25-toto-tool,
  .slot25-toto-tool * {
    box-sizing: border-box;
  }

  .slot25-toto-tool {
    --slot25-yellow: #ffd000;
    --slot25-dark: #090909;

    width: 100%;
    max-width: 680px;
    margin: 25px auto;
    padding: 28px 20px;
    overflow: hidden;
    position: relative;
    border: 1px solid #ffd000;
    border-radius: 24px;
    background:
      radial-gradient(
        circle at 50% -5%,
        rgba(255, 218, 31, 0.23),
        transparent 36%
      ),
      linear-gradient(145deg, #171717, #050505);
    box-shadow:
      0 0 25px rgba(255, 208, 0, 0.22),
      0 20px 45px rgba(0, 0, 0, 0.45);
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
  }

  .slot25-toto-tool::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      repeating-linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.018) 0,
        rgba(255, 255, 255, 0.018) 2px,
        transparent 2px,
        transparent 12px
      );
  }

  .slot25-toto-badge {
    width: max-content;
    max-width: 100%;
    margin: 0 auto 13px;
    padding: 8px 18px;
    position: relative;
    border: 1px solid rgba(255, 208, 0, 0.5);
    border-radius: 50px;
    background: rgba(255, 208, 0, 0.1);
    color: var(--slot25-yellow);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.5px;
  }

  .slot25-toto-tool h2 {
    margin: 0;
    position: relative;
    text-align: center;
    font-size: clamp(23px, 5vw, 32px);
    font-weight: 900;
  }

  .slot25-toto-intro {
    max-width: 510px;
    margin: 9px auto 22px;
    position: relative;
    color: #c9c9c9;
    text-align: center;
    font-size: 14px;
    line-height: 1.6;
  }

  .slot25-toto-form {
    padding: 17px;
    position: relative;
    border: 1px solid #303030;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.035);
  }

  .slot25-toto-form label {
    display: block;
    margin-bottom: 9px;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
  }

  .slot25-input-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
  }

  .slot25-input-wrap input {
    width: 100%;
    min-height: 49px;
    padding: 0 15px;
    outline: none;
    border: 1px solid #414141;
    border-radius: 11px;
    background: #080808;
    color: #ffd000;
    font-family: inherit;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 9px;
    transition:
      border-color 0.2s ease,
      box-shadow 0.2s ease;
  }

  .slot25-input-wrap input:focus {
    border-color: #ffd000;
    box-shadow: 0 0 13px rgba(255, 208, 0, 0.2);
  }

  .slot25-input-wrap input::placeholder {
    color: #666;
    font-size: 12px;
    letter-spacing: 0;
  }

  .slot25-input-wrap button {
    min-height: 49px;
    padding: 0 18px;
    cursor: pointer;
    border: 1px solid #ffe879;
    border-radius: 11px;
    background: linear-gradient(145deg, #ffe248, #dba300);
    color: #111;
    font-family: inherit;
    font-size: 12px;
    font-weight: 900;
  }

  .slot25-toto-notice {
    min-height: 17px;
    margin-top: 10px;
    color: #989898;
    font-size: 11px;
    line-height: 1.5;
  }

  .slot25-toto-notice.slot25-error {
    color: #ff7979;
  }

  .slot25-toto-notice.slot25-success {
    color: #64e984;
  }

  .slot25-latest-result {
    margin-top: 17px;
    padding: 18px 13px;
    position: relative;
    border: 1px solid #292929;
    border-radius: 17px;
    background:
      radial-gradient(circle at center, #222 0, #070707 70%);
    text-align: center;
  }

  .slot25-latest-result > span {
    display: block;
    margin-bottom: 13px;
    color: #b7b7b7;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.5px;
  }

  .slot25-result-balls {
    display: flex;
    justify-content: center;
    gap: 10px;
  }

  .slot25-result-balls i {
    width: 57px;
    height: 57px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff190;
    border-radius: 50%;
    background:
      radial-gradient(
        circle at 35% 27%,
        #fff9bd 0,
        #ffd51d 32%,
        #dd9b00 75%
      );
    box-shadow:
      inset -6px -8px 10px rgba(113, 56, 0, 0.25),
      0 0 15px rgba(255, 208, 0, 0.37);
    color: #111;
    font-size: 23px;
    font-style: normal;
    font-weight: 900;
  }

  .slot25-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 15px;
    position: relative;
  }

  .slot25-stat-box {
    padding: 14px 8px;
    border: 1px solid #303030;
    border-radius: 13px;
    background: linear-gradient(145deg, #1a1a1a, #0b0b0b);
    text-align: center;
  }

  .slot25-stat-box span {
    display: block;
    margin-bottom: 7px;
    color: #929292;
    font-size: 10px;
    font-weight: 700;
  }

  .slot25-stat-box strong {
    color: #ffd000;
    font-size: 21px;
  }

  .slot25-frequency-section,
  .slot25-history-section {
    margin-top: 18px;
    padding: 16px;
    position: relative;
    border: 1px solid #2d2d2d;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.025);
  }

  .slot25-section-title {
    margin-bottom: 15px;
  }

  .slot25-section-title h3 {
    margin: 0 0 4px;
    color: #fff;
    font-size: 14px;
  }

  .slot25-section-title span {
    color: #888;
    font-size: 10px;
  }

  .slot25-frequency-list {
    display: grid;
    gap: 8px;
  }

  .slot25-frequency-row {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 38px;
    gap: 9px;
    align-items: center;
  }

  .slot25-frequency-digit {
    color: #ffd000;
    font-size: 13px;
    font-weight: 900;
    text-align: center;
  }

  .slot25-frequency-track {
    height: 9px;
    overflow: hidden;
    border-radius: 50px;
    background: #242424;
  }

  .slot25-frequency-bar {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #d89e00, #ffe258);
    box-shadow: 0 0 8px rgba(255, 208, 0, 0.32);
    transition: width 0.5s ease;
  }

  .slot25-frequency-count {
    color: #bbb;
    font-size: 11px;
    font-weight: 800;
    text-align: right;
  }

  .slot25-history-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
  }

  .slot25-history-heading button {
    padding: 8px 10px;
    cursor: pointer;
    border: 1px solid #663232;
    border-radius: 8px;
    background: rgba(255, 72, 72, 0.08);
    color: #ff8c8c;
    font-size: 9px;
    font-weight: 900;
  }

  .slot25-history-list {
    display: grid;
    gap: 8px;
  }

  .slot25-history-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    padding: 11px;
    border: 1px solid #2c2c2c;
    border-radius: 11px;
    background: #101010;
  }

  .slot25-history-index {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255, 208, 0, 0.11);
    color: #ffd000;
    font-size: 10px;
    font-weight: 900;
  }

  .slot25-history-info strong {
    display: block;
    margin-bottom: 4px;
    color: #fff;
    font-size: 16px;
    letter-spacing: 4px;
  }

  .slot25-history-info span {
    display: block;
    color: #777;
    font-size: 9px;
  }

  .slot25-delete-item {
    width: 31px;
    height: 31px;
    cursor: pointer;
    border: 1px solid #4b2929;
    border-radius: 8px;
    background: #1b0d0d;
    color: #ff8585;
    font-size: 15px;
  }

  .slot25-empty-history {
    padding: 18px;
    border: 1px dashed #383838;
    border-radius: 11px;
    color: #777;
    text-align: center;
    font-size: 12px;
  }

  .slot25-toto-disclaimer {
    margin-top: 17px;
    padding-top: 14px;
    position: relative;
    border-top: 1px solid #292929;
    color: #838383;
    text-align: center;
    font-size: 10px;
    line-height: 1.6;
  }

  @media (max-width: 520px) {
    .slot25-toto-tool {
      padding: 24px 13px;
      border-radius: 19px;
    }

    .slot25-input-wrap {
      grid-template-columns: 1fr;
    }

    .slot25-input-wrap button {
      width: 100%;
    }

    .slot25-result-balls {
      gap: 7px;
    }

    .slot25-result-balls i {
      width: 49px;
      height: 49px;
      font-size: 20px;
    }

    .slot25-stat-box strong {
      font-size: 18px;
    }
  }
</style>

<script>
  (function () {
    const storageKey = "s25_toto_history";
    const form = document.getElementById("s25TotoForm");
    const input = document.getElementById("s25TotoInput");
    const notice = document.getElementById("s25TotoNotice");
    const historyList = document.getElementById("s25HistoryList");
    const frequencyList = document.getElementById("s25FrequencyList");
    const totalData = document.getElementById("s25TotalData");
    const topDigit = document.getElementById("s25TopDigit");
    const topCount = document.getElementById("s25TopCount");
    const resultBalls = document.querySelectorAll("#s25ResultBalls i");
    const deleteAll = document.getElementById("s25DeleteAll");

    if (!form) return;

    let records = [];

    try {
      records = JSON.parse(localStorage.getItem(storageKey)) || [];
    } catch (error) {
      records = [];
    }

    input.addEventListener("input", function () {
      this.value = this.value.replace(/\D/g, "").slice(0, 4);
    });

    function saveRecords() {
      localStorage.setItem(storageKey, JSON.stringify(records));
    }

    function formatDate(timestamp) {
      return new Intl.DateTimeFormat("id-ID", {
        dateStyle: "medium",
        timeStyle: "short"
      }).format(new Date(timestamp));
    }

    function calculateFrequency() {
      const counts = Array(10).fill(0);

      records.forEach(function (record) {
        record.number.split("").forEach(function (digit) {
          counts[Number(digit)]++;
        });
      });

      return counts;
    }

    function renderLatest() {
      const latest = records[0] ? records[0].number : "????";

      resultBalls.forEach(function (ball, index) {
        ball.textContent = latest[index];
      });
    }

    function renderStats() {
      const counts = calculateFrequency();
      const maximum = Math.max.apply(null, counts);

      totalData.textContent = records.length;

      if (records.length === 0) {
        topDigit.textContent = "-";
        topCount.textContent = "0";
        return;
      }

      const winningDigits = counts
        .map(function (count, digit) {
          return { digit: digit, count: count };
        })
        .filter(function (item) {
          return item.count === maximum;
        })
        .map(function (item) {
          return item.digit;
        })
        .join(", ");

      topDigit.textContent = winningDigits;
      topCount.textContent = maximum;
    }

    function renderFrequency() {
      const counts = calculateFrequency();
      const maximum = Math.max.apply(null, counts, 1);

      frequencyList.innerHTML = "";

      counts.forEach(function (count, digit) {
        const percentage = count === 0 ? 0 : (count / maximum) * 100;

        const row = document.createElement("div");
        row.className = "slot25-frequency-row";

        row.innerHTML =
          '<div class="slot25-frequency-digit">' +
          digit +
          "</div>" +
          '<div class="slot25-frequency-track">' +
          '<div class="slot25-frequency-bar" style="width:' +
          percentage +
          '%"></div>' +
          "</div>" +
          '<div class="slot25-frequency-count">' +
          count +
          "x</div>";

        frequencyList.appendChild(row);
      });
    }

    function renderHistory() {
      historyList.innerHTML = "";

      if (records.length === 0) {
        historyList.innerHTML =
          '<div class="slot25-empty-history">Belum ada angka yang disimpan.</div>';
        return;
      }

      records.forEach(function (record, index) {
        const item = document.createElement("div");
        item.className = "slot25-history-item";

        item.innerHTML =
          '<div class="slot25-history-index">' +
          String(index + 1).padStart(2, "0") +
          "</div>" +
          '<div class="slot25-history-info">' +
          "<strong>" +
          record.number +
          "</strong>" +
          "<span>" +
          formatDate(record.time) +
          "</span>" +
          "</div>" +
          '<button type="button" class="slot25-delete-item" data-id="' +
          record.id +
          '" aria-label="Hapus angka">×</button>';

        historyList.appendChild(item);
      });

      historyList
        .querySelectorAll(".slot25-delete-item")
        .forEach(function (button) {
          button.addEventListener("click", function () {
            const id = Number(this.getAttribute("data-id"));

            records = records.filter(function (record) {
              return record.id !== id;
            });

            saveRecords();
            renderAll();

            notice.className = "slot25-toto-notice";
            notice.textContent = "Satu data angka berhasil dihapus.";
          });
        });
    }

    function renderAll() {
      renderLatest();
      renderStats();
      renderFrequency();
      renderHistory();
    }

    form.addEventListener("submit", function (event) {
      event.preventDefault();

      const number = input.value.trim();

      if (!/^\d{4}$/.test(number)) {
        notice.className = "slot25-toto-notice slot25-error";
        notice.textContent = "Masukkan tepat empat digit, misalnya 8434.";
        input.focus();
        return;
      }

      records.unshift({
        id: Date.now(),
        number: number,
        time: Date.now()
      });

      if (records.length > 50) {
        records = records.slice(0, 50);
      }

      saveRecords();
      renderAll();

      notice.className = "slot25-toto-notice slot25-success";
      notice.textContent = "Angka " + number + " berhasil disimpan.";
      input.value = "";
      input.focus();
    });

    deleteAll.addEventListener("click", function () {
      if (records.length === 0) {
        notice.className = "slot25-toto-notice";
        notice.textContent = "Belum ada data yang dapat dihapus.";
        return;
      }

      const approved = window.confirm(
        "Hapus seluruh riwayat angka Toto Macau?"
      );

      if (!approved) return;

      records = [];
      saveRecords();
      renderAll();

      notice.className = "slot25-toto-notice";
      notice.textContent = "Seluruh riwayat angka telah dihapus.";
    });

    renderAll();
  })();
</script>

  </div>
  </div>

  <script>
  const faq = document.querySelectorAll(".sgt-faq");

  faq.forEach(item=>{
      item.addEventListener("click", ()=>{
          faq.forEach(el=>{
              if(el !== item) el.classList.remove("active");
          });
          item.classList.toggle("active");
      });
  });
  </script>
      
      
      
          <section class="pd-related-full">
          <h2 class="pd-related-title">Produk Terkait</h2>
          <div class="pd-related-grid pd-related-grid--full">
                          <a class="pd-related-card" href="//www.pinefurniturecornwall.co.uk/">
                  <div class="thumb">
                      <img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25">
                      <span class="mini-disc">-2%</span>                </div>
                  <div class="info">
                      <h3>SLOT25</h3>
                      <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">
                          <span class="final">Rp 10.500.000</span>
                                                    <span class="ori">Rp 12.799.000</span>
                                              </span>
                      <span class="sold">Terjual 200+</span>                    <span class="stock-dot low" title="Stok Terbatas"></span>
                  </div>
              </a>
                          <a class="pd-related-card" href="//www.pinefurniturecornwall.co.uk//">
                  <div class="thumb">
                      <img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT 25">
                      <span class="mini-disc">-1%</span>                </div>
                  <div class="info">
                      <h3>SLOT 25</h3>
                      <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">
                          <span class="final">Rp 23.887.000</span>
                                                    <span class="ori">Rp 21.999.000</span>
                                              </span>
                      <span class="sold">Terjual 20+</span>                    <span class="stock-dot out" title="Habis"></span>
                  </div>
              </a>
                          <a class="pd-related-card" href="https://pafikecindragiri.org/">
                  <div class="thumb">
                      <img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25 LOGIN">
                      <span class="mini-disc">-1%</span>                </div>
                  <div class="info">
                      <h3>SLOT25 LOGIN</h3>
                      <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">
                          <span class="final">Rp 24.600.000</span>
                                                    <span class="ori">Rp 21.399.000</span>
                                              </span>
                      <span class="sold">Terjual 6</span>                    <span class="stock-dot ready" title="Ready"></span>
                  </div>
              </a>
                          <a class="pd-related-card" href="https://pafikecindragiri.org/">
                  <div class="thumb">
                      <img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25 ONLINE">
                      <span class="mini-disc">-1%</span>                </div>
                  <div class="info">
                      <h3>SLOT25 ONLINE</h3>
                      <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">
                          <span class="final">Rp 16.800.000</span>
                                                    <span class="ori">Rp 19.799.000</span>
                                              </span>
                      <span class="sold">Terjual 5</span>                    <span class="stock-dot ready" title="Ready"></span>
                  </div>
              </a>
                          <a class="pd-related-card" href="https://pafikecindragiri.org/">
                  <div class="thumb">
                      <img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SITUS SLOT25">
                      <span class="mini-disc">-1%</span>                </div>
                  <div class="info">
                      <h3>SITUS SLOT25</h3>
                      <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">
                          <span class="final">Rp 28.600.080</span>
                                                    <span class="ori">Rp 27.999.000</span>
                                              </span>
                      <span class="sold">Terjual 6</span>                    <span class="stock-dot low" title="Stok Terbatas"></span>
                  </div>
              </a>
                          <a class="pd-related-card" href="https://pafikecindragiri.org/">
                  <div class="thumb">
                      <img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25 LINK">
                      <span class="mini-disc">-1%</span>                </div>
                  <div class="info">
                      <h3>SLOT25 LINK</h3>
                      <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">
                          <span class="final">Rp 17.888.000</span>
                                                    <span class="ori">Rp 18.499.000</span>
                                              </span>
                                          <span class="stock-dot low" title="Stok Terbatas"></span>
                  </div>
              </a>
                          
                      </div>
      </section>
      
      <div class="pd-mobile-fab" id="pd-mobile-fab" data-pid="325" data-price="20789000" data-voucher-code="" data-voucher-value="0"><div class="mf-actions"><button type="button" class="mf-btn mf-share" id="mf-share" aria-label="Bagikan"><svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true"><path fill="currentColor" d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z"/></svg></button><button type="button" class="mf-btn mf-chat" id="mf-chat" aria-label="Tanya Produk"><svg viewBox="0 0 640 640" fill="currentColor"><path d="M320 128C241 128 175.3 185.3 162.3 260.7C171.6 257.7 181.6 256 192 256L208 256C234.5 256 256 277.5 256 304L256 400C256 426.5 234.5 448 208 448L192 448C139 448 96 405 96 352L96 288C96 164.3 196.3 64 320 64C443.7 64 544 164.3 544 288L544 456.1C544 522.4 490.2 576.1 423.9 576.1L336 576L304 576C277.5 576 256 554.5 256 528C256 501.5 277.5 480 304 480L336 480C362.5 480 384 501.5 384 528L384 528L424 528C463.8 528 496 495.8 496 456L496 435.1C481.9 443.3 465.5 447.9 448 447.9L432 447.9C405.5 447.9 384 426.4 384 399.9L384 303.9C384 277.4 405.5 255.9 432 255.9L448 255.9C458.4 255.9 468.3 257.5 477.7 260.6C464.7 185.3 399.1 127.9 320 127.9z"/></svg></button><button type="button" class="mf-btn mf-cart" id="mf-cart" disabled aria-label="Tambah ke keranjang"><svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true"><path fill="currentColor" d="M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z"/></svg></button><button type="button" class="mf-btn mf-buy" id="mf-buy" disabled><span class="mf-buy-text">Beli Sekarang</span><span class="mf-buy-price">Rp 20.789.000</span></button></div></div>

      <button type="button"
              class="pd-scroll-top"
              id="pd-scroll-top"
              aria-label="Kembali ke atas"
              title="Kembali ke atas">
          <svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true">
              <path fill="currentColor" d="M7.41 14.59 12 10l4.59 4.59L18 13.17l-6-6-6 6z"/>
          </svg>
      </button>
  <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>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"86b92806e6ad40aa9c73072222ebca85","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"37e20f4229ee431eaad4a9314bb5116f","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"37e20f4229ee431eaad4a9314bb5116f","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"17ac9630a9494b1bb7e22f16384a161c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"17ac9630a9494b1bb7e22f16384a161c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"17ac9630a9494b1bb7e22f16384a161c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"17ac9630a9494b1bb7e22f16384a161c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"17ac9630a9494b1bb7e22f16384a161c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"17ac9630a9494b1bb7e22f16384a161c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"17ac9630a9494b1bb7e22f16384a161c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"17ac9630a9494b1bb7e22f16384a161c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"17ac9630a9494b1bb7e22f16384a161c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"17ac9630a9494b1bb7e22f16384a161c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"acdbdc7b4e0f4605940b1d5fcaee1fc8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"c36a3307df804892a0747514a8a8ae08","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"045f0ba4e9214f678d97404f9d73c8f9","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"9f7862ac7b854c3e99e5a4e4461606c7","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"1c10af5d1b294410b780a0402b1591bf","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"1c10af5d1b294410b780a0402b1591bf","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"4469a6f8e4644c8b8d7935acecf6b695","r":1}' crossorigin="anonymous"></script>
</main>

  <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://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="SLOT25" class="pd-share-preview-img"><div class="pd-share-preview-info"><h3 class="pd-share-preview-name">SLOT25</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"><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://pafikecindragiri.org/" 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>

  <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>
  <style>
  .toast .msg { word-break: break-word; overflow-wrap: anywhere; }

  .toast-root { bottom: max(12px, env(safe-area-inset-bottom, 12px)); }

  @media (max-width: 540px) {
    .toast-root {
      left: 0; right: 0; transform: none;
      padding: 0 12px;
      bottom: calc(max(12px, env(safe-area-inset-bottom, 12px)) + var(--fab-offset, 72px));
      max-width: none;
    }
    .toast {
      grid-template-columns: 1fr; /* 1 kolom */
      position: relative;
      padding: 14px 14px 12px 14px;
      border-radius: 16px;
    }
    .toast .ico {
      position: absolute; left: 14px; top: 14px;
      margin: 0; transform: translateY(1px);
    }
    .toast .cnt { padding-left: 34px; }
    .toast .ttl { font-size: 15px; margin-bottom: 6px; }
    .toast .msg { font-size: 13px; opacity: .96; }
    .toast .actions {
      margin-top: 12px; gap: 10px; width: 100%;
      display: grid; grid-template-columns: 1fr 1fr;
    }
    .toast .btn { width: 100%; min-width: 0; padding: 10px 0; }
    .toast .close { position: absolute; right: 6px; top: 6px; }
  }
  </style>

  <script nonce="se3iyzEHMc9FQEB4wSyd0w==">
  (function adjustToastFabOffset(){
    const root = document.getElementById('toastRoot');
    if (!root) return;

    function isVisible(el){
      if (!el) return false;
      const cs = getComputedStyle(el);
      if (cs.display === 'none' || cs.visibility === 'hidden' || cs.opacity === '0') return false;
      const r = el.getBoundingClientRect();
      return r.width > 0 && r.height > 0;
    }

    function update(){
      const fab = document.getElementById('pd-mobile-fab');
      let extra = 16;
      if (isVisible(fab)) {
        const h = Math.round(fab.getBoundingClientRect().height) || 56;
        extra = h + 16; // FAB height + margin
      }
      root.style.setProperty('--fab-offset', extra + 'px');
    }

    window.addEventListener('resize', update, { passive: true });
    const fab = document.getElementById('pd-mobile-fab');
    if (window.ResizeObserver && fab) {
      const ro = new ResizeObserver(update);
      ro.observe(fab);
    }
    
    update();
  })();
  </script>
  <div class="toast-root" id="toastRoot" aria-live="polite" aria-atomic="true"></div>

  <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>'}
  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>`;

      const close = ()=> {
        if (!el.parentNode) return;
        el.style.transition = 'transform .2s ease, opacity .2s ease';
        el.style.opacity = '0'; el.style.transform = 'translateY(10px)';
        setTimeout(()=>{ if (el.parentNode) el.parentNode.removeChild(el); }, 220);
      };

      el.querySelector('.close').addEventListener('click', close);
      el.querySelectorAll('.actions .btn').forEach(btn=>{
        btn.addEventListener('click', ()=>{
          const lab = btn.getAttribute('data-act');
          try {
            (o.actions||[]).forEach(a=>{ if (a.label===lab && typeof a.onClick==='function') a.onClick(); });
          } catch(_){}
          close();
        });
      });

      root.appendChild(el);
      setTimeout(close, o.duration);
      return el;
    };
  })();

  const _0x1a2b=[{"url":"https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png","alt":"Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y","slug":""},{"url":"https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png"},{"url":"https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-223.webp"},{"url":"https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-776.webp"},{"url":"https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-634.webp"},{"url":"https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-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(' / '):''}
  function encodeVariantHash(id){if(!id||id<=0)return '';const xor=id^0x4A5D;return xor.toString(36)}
  function decodeVariantHash(hash){if(!hash)return 0;const xor=parseInt(hash,36);return isNaN(xor)?0:xor^0x4A5D}

  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})}

  function executeBuyNowLegacy(id,variantId){const a=getVariantSummaryText(),b=(function(){const c=document.getElementById('pd-sku');return c?c.textContent.trim():_0x5e6f})();

      let willRedirect = false;
      try {
          if (window.addToCart) {
              window.addToCart(id, 1, variantId);
              willRedirect = false;
          }
      } catch(_){}

      if (willRedirect) {
          showToast({
              type: 'info',
              title: 'Menuju Keranjang',
              message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}<br>SKU: ${escapeHtml(skuText)} · Qty: 1`,
              duration: 1800
          });
          setTimeout(()=>{ window.location.href='/keranjang'; }, 1200);
      } else {
          showToast({
              type: 'warn',
              title: 'Fitur Beli Langsung Segera Hadir',
              message: `Sementara ini Anda bisa menambahkan produk ke keranjang terlebih dahulu.<br><strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}`,
              duration: 6000,
              actions: [
                  { label: '+ Keranjang', onClick: ()=> { try{ if (window.addToCart) window.addToCart(id,1,variantId); }catch(_){} } },
                  { label: 'Hubungi CS', variant: 'alt', onClick: ()=> { window.open('https://wa.me/6281380009898','_blank'); } }
              ]
          });
      }
  }

  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)})}});

  function _0x2m3n(s){return String(s||'').replace(/[&<>"']/g,m=>({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#039;'}[m]))}

  (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')}})})();

  (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;slides.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})})();

  /* ================= Simulasi Cicilan ================= */
  (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'}

  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'}

  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)});

  window.instSetBasePrice=function(newPrice){setBasePrice(newPrice);_0x4o5p(activeBank())};_0x4o5p(activeBank());
  })();

  /* ====== Fokus gambar varian ====== */
  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 ''}}}
  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}}
    if (c){
      const targetName = _0x8s9t(url);
      const slideImg = Array.from(c.querySelectorAll('img')).find(im => _0x8s9t(im.src) === targetName);
      if (slideImg){
        
        try {
          const container = c;
          const imgRect = slideImg.getBoundingClientRect();
          const contRect = container.getBoundingClientRect();
          const offsetLeft = slideImg.offsetLeft - container.offsetLeft;
          const center = offsetLeft - (container.clientWidth - slideImg.clientWidth) / 2;
          container.scrollTo({ left: Math.max(0, center), behavior: 'smooth' });
        } catch(_){
          
          slideImg.scrollIntoView({ behavior:'smooth', inline:'center', block:'nearest' });
        }
      }
    }
  }
  function findImageForVariant(variant){
    if (!variant || !variant.attrs) return null;
    const tokens = [];
    try{
      Object.values(variant.attrs).forEach(v=>{
        if (!v) return;
        const raw = String(v);
        tokens.push(raw);
        tokens.push(normalize(raw));
      });
    }catch(_){}
    if (variant.sku){
      tokens.push(String(variant.sku));
      tokens.push(normalize(String(variant.sku)));
    }
    if (variant.image_url) {
        tokens.push(String(variant.image_url));
    }
    let best = null;
    let bestScore = -1;

    for (const g of (galleryData||[])){
      const slugN = normalize(g.slug||'');
      const altN  = normalize(g.alt||'');
      const file  = _0x8s9t(g.url||'');
      const fileN = normalize(file);
      const imgU  = g.url;

      for (const t of tokens){
        const tN = normalize(t);
        if (!tN) continue;

        let score = -1;
        if (imgU === tN) score = 300;
        if (slugN && slugN === tN) score = 300;
        else if (fileN && fileN.includes(tN)) score = 200;
        else if (altN && altN.includes(tN)) score = 120;

        if (score > bestScore){
          bestScore = score;
          best = g;
        }
        if (bestScore >= 300) break;
      }
      if (bestScore >= 300) break;
    }
    return bestScore >= 120 ? best : null;
  }
  function _0xey3z(variant){const a=_0xcw2x(variant);if(a&&a.url){_0xau1v(a.url,a.alt||'')}}

  /* ====== Layout mobile ====== */
  (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;

      let pricePlaced = false;
      let varPlaced = false;
      let titlePlaced = false;
      let promoPlaced = false;
      const mq = window.matchMedia('(max-width: 640px)');

      function apply(){
          if (mq.matches) {
              if (!titlePlaced && a && titleRow && d.contains(titleRow)) { try{a.appendChild(titleRow);titlePlaced=true;}catch(_){} }
              if (!pricePlaced && a && b) { try{a.appendChild(b);pricePlaced=true;}catch(_){} }
              if (!varPlaced && f && d && e) {
                  try{
                      f.hidden = false;
                      if (i && !f.contains(i)) f.appendChild(i);
                      if (g && !f.contains(g)) f.appendChild(g);
                      if(d.contains(e))d.insertBefore(f, e);
                      varPlaced = true;
                  }catch(_){}
              }
              if (!promoPlaced && promoBanner && compareSection && compareSection.parentNode) {
                  try{
                      compareSection.parentNode.insertBefore(promoBanner, compareSection);
                      promoPlaced = true;
                  }catch(_){}
              }
          } else {
              if (titlePlaced && titleRow && d) {
                  try{
                      const vcombined = document.getElementById('pd-variant-combined');
                      if (vcombined && d.contains(vcombined)) {
                          d.insertBefore(titleRow, vcombined);
                      } else {
                          d.insertBefore(titleRow, d.firstChild);
                      }
                      titlePlaced=false;
                  }catch(_){}
              }
              if (pricePlaced && b && c && c.parentNode) {
                  try{c.parentNode.insertBefore(b, c.nextSibling);pricePlaced=false;}catch(_){}
              }
              if (varPlaced) {
                  try{
                      if (i && j && j.parentNode && !j.parentNode.contains(i)) j.parentNode.insertBefore(i, j.nextSibling);
                      if (g && h && h.parentNode && !h.parentNode.contains(g)) h.parentNode.insertBefore(g, h.nextSibling);
                      if (f) { f.hidden = true; f.innerHTML = ''; }
                      varPlaced = false;
                  }catch(_){}
              }
              if (promoPlaced && promoBanner && b) {
                  try{
                      b.appendChild(promoBanner);
                      promoPlaced = false;
                  }catch(_){}
              }
          }
      }

      mq.addEventListener ? mq.addEventListener('change', apply) : mq.addListener(apply);
      apply();

      const fab = document.getElementById('pd-mobile-fab');
      if (fab) {
          const pid = parseInt(fab.getAttribute('data-pid')||'0',10) || 325;
          const btnCart = document.getElementById('mf-cart');

          if (btnCart) btnCart.addEventListener('click', function(){
              const varInput = document.getElementById('pd-variant-id');
              const variantId = varInput ? parseInt(varInput.value||'0',10) : 0;
              try { if (window.addToCart) addToCart(pid, 1, variantId); } catch(_){}
              const variantText = getVariantSummaryText();
              const skuText = (function(){ const el=document.getElementById('pd-sku'); return el?el.textContent.trim():PD_SKU; })();
              showToast({
                  type: 'success',
                  title: 'Berhasil ditambahkan ke Keranjang',
                  message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}<br>SKU: ${escapeHtml(skuText)} · Qty: 1`,
                  duration: 5000,
                  actions: [
                      { label: 'Lihat Keranjang', onClick: ()=> { window.location.href = '/keranjang'; } },
                      { label: 'Lanjut Belanja', variant: 'alt', onClick: ()=>{} }
                  ]
              });
          });
      }
  })();

  /* ====== Auto-hide installment banner if sidebar too tall (Desktop only) ====== */
  (function(){
      function adjustSidebarBanner() {
          if (window.innerWidth <= 768) return;
          const sidebar = document.querySelector('.pd-sidebar');
          const infoCard = document.querySelector('.pd-info-card');
          const banner = document.querySelector('.pd-side-card.inst-alt-banner.inst-alt-banner--compact');
          if (!sidebar || !infoCard || !banner) return;
          const sidebarHeight = sidebar.offsetHeight;
          const infoCardHeight = infoCard.offsetHeight;
          if (sidebarHeight > infoCardHeight) {
              banner.style.display = 'none';
          } else {
              banner.style.display = '';
          }
      }
      if (document.readyState === 'loading') {
          document.addEventListener('DOMContentLoaded', adjustSidebarBanner);
      } else {
          adjustSidebarBanner();
      }
      let resizeTimer;
      window.addEventListener('resize', function() {
          clearTimeout(resizeTimer);
          resizeTimer = setTimeout(adjustSidebarBanner, 250);
      });
      const pwpSection = document.getElementById('pwp-deals-section');
      if (pwpSection) {
          const observer = new MutationObserver(function(mutations) {
              let shouldRecheck = false;
              mutations.forEach(function(mutation) {
                  if (mutation.type === 'attributes' && mutation.attributeName === 'hidden') {
                      shouldRecheck = true;
                  } else if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
                      shouldRecheck = true;
                  }
              });
              if (shouldRecheck) {
                  setTimeout(adjustSidebarBanner, 100);
              }
          });
          observer.observe(pwpSection, {
              attributes: true,
              childList: true,
              subtree: true
          });
      }
      window.adjustSidebarBanner = adjustSidebarBanner;
  })();

  /* ====== Global constants ====== */
  const IS_DIGITAL=false;
  const IS_PREORDER=false;

  /* ====== Variants state (REVISED) ====== */
  (function initVariants(){
  const _0x7g8h=[];window.variants=_0x7g8h;
  window.isPreorderProduct=false;
      const attrOrder = [];

      if (!variants.length || !attrOrder.length) return;

      function comboKey(sel){
          return attrOrder.map(a => a + '=' + (sel[a] ?? '')).join('|');
      }

      const variantMap = {};
      variants.forEach(v=>{
          const key = comboKey(v.attrs);
          variantMap[key] = v;
      });

      function readSelection(){
          const sel = {};
          attrOrder.forEach(a=>{
              const r = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio]:checked`);
              sel[a] = r ? r.value : '';
          });
          return sel;
      }

      function findVariant(sel){
          return variantMap[comboKey(sel)] || null;
      }

      function autoFillMissing(sel){
          let changed = false;
          for (const a of attrOrder) {
              if (sel[a]) continue;
              const possible = [];
              const seen = new Set();
              variants.forEach(v=>{
                  let ok = true;
                  for (const a2 of attrOrder) {
                      if (a2 === a) continue;
                      if (sel[a2] && v.attrs[a2] !== sel[a2]) { ok = false; break; }
                  }
                  if (ok) {
                      const val = v.attrs[a];
                      if (!seen.has(val)) { seen.add(val); possible.push(val); }
                  }
              });
              if (possible.length === 1) {
                  const val = possible[0];
                  const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`);
                  if (input && !input.checked) { input.checked = true; sel[a] = val; changed = true; }
              }
          }
          return changed;
      }

      function rupiah(n){
          n = parseInt(n||0,10)||0;
          return 'Rp ' + n.toString().replace(/\B(?=(\d{3})+(?!\d))/g,'.');
      }
      
      function focusGalleryByUrl(imageUrl) {
          const isMobile = window.matchMedia && window.matchMedia('(max-width: 640px)').matches;
            if (isMobile) {
              _0xau1v(imageUrl);
              return;
            }
          
            const gallery = document.getElementById('pd-thumb-gallery');
            const targetName = _0x8s9t(imageUrl);
          
            if (gallery) {
              const btns = Array.from(gallery.querySelectorAll('.pd-thumb-btn'));
              const btn = btns.find(b => _0x8s9t(b.getAttribute('data-full') || '') === targetName);
              if (btn) { btn.click(); return; }
            }
            
            _0xau1v(imageUrl);
      }
      

  function formatStockLabel(n){n=parseInt(n||0,10)||0;return(n>10)?'10+':String(n)}
  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(_){}}

      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)}

      function applyVariant(v, focusImage = true){
          const elCur  = document.getElementById('pd-price-current');
          const elOri  = document.getElementById('pd-price-original');
          const elDisc = document.getElementById('pd-discount-badge');
          const elSku  = document.getElementById('pd-sku');
          const elStock= document.getElementById('pd-stock-badge');
          const elQty  = document.getElementById('qty');
          const btnAdd = document.getElementById('btn-add-cart');
          const btnBuy = document.getElementById('btn-buy');
          const hidVar = document.getElementById('pd-variant-id');

          const mfCart= document.getElementById('mf-cart');
          const mfBuy = document.getElementById('mf-buy');
          const fab = document.getElementById('pd-mobile-fab');

          if (hidVar) hidVar.value = v ? v.id : 0;
          if (elCur) elCur.textContent = rupiah(v ? v.final : 0);
          if (elSku && v && v.sku) elSku.textContent = v.sku;

          if (v && v.ori > v.final) {
              if (elOri) { elOri.style.display='inline'; elOri.textContent = rupiah(v.ori); }
              if (elDisc) { elDisc.style.display='inline'; elDisc.textContent = '-' + (v.disc||0) + '%'; }
          } else {
              if (elOri) elOri.style.display='none';
              if (elDisc) elDisc.style.display='none';
          }

          const stock = v ? (parseInt(v.stock||0,10)||0) : 0;
          let effectiveStock = stock;
          let isActivePreorder = false;
          if (window.isPreorderProduct && v && 'preorder_remaining' in v && v.preorder_remaining !== null) {
              effectiveStock = parseInt(v.preorder_remaining, 10);
              if (isNaN(effectiveStock)) effectiveStock = 0;
              isActivePreorder = true;
          }
          if (elStock){
              elStock.classList.remove('in','out');
              if (effectiveStock>0){ 
                  elStock.classList.add('in'); 
                  elStock.textContent = IS_DIGITAL ? 'Tersedia' : (isActivePreorder ? 'Sisa Slot: ' + effectiveStock : 'Stok: ' + formatStockLabel(effectiveStock)); 
              } else { 
                  elStock.classList.add('out'); 
                  elStock.textContent = 'Habis'; 
              }
          }
          if (elQty){
              elQty.max = String(effectiveStock>0?effectiveStock:0);
              if (effectiveStock<=0) { elQty.value = '0'; elQty.disabled = true; }
              else { if (parseInt(elQty.value||'1',10) < 1) elQty.value='1'; elQty.disabled=false; }
          }
          
          const shouldDisable = !(v && effectiveStock>0);
          const updateButtons = () => {
              const btnAddCart = document.getElementById('btn-add-cart');
              const btnBuyNow = document.getElementById('btn-buy');
              const mobileCart = document.getElementById('mf-cart');
              const mobileBuy = document.getElementById('mf-buy');
              [btnAddCart, btnBuyNow, mobileCart, mobileBuy].forEach(btn => {
                  if (!btn) return;
                  if (shouldDisable) {
                      btn.disabled = true;
                      btn.setAttribute('disabled', 'disabled');
                      btn.classList.add('stock-disabled');
                      btn.setAttribute('data-stock-blocked', 'true');
                      btn.setAttribute('data-stock-reason', window.isPreorderProduct ? 'Pre-order habis' : 'Stok habis');
                  } else {
                      btn.disabled = false;
                      btn.removeAttribute('disabled');
                      btn.classList.remove('stock-disabled');
                      btn.removeAttribute('data-stock-blocked');
                      btn.removeAttribute('data-stock-reason');
                  }
              });
          };
          updateButtons();
          setTimeout(updateButtons, 10);
          setTimeout(updateButtons, 50);
          setTimeout(updateButtons, 100);
          if (mfBuy && v) {
              const voucherBtn = document.getElementById('btn-buy-voucher');
              const voucherCode = fab ? fab.dataset.voucherCode : '';
              let voucherDiscount = 0;
              
              if (voucherBtn && voucherCode) {
                  const vType = voucherBtn.dataset.voucherType;
                  const vValue = parseFloat(voucherBtn.dataset.voucherValue) || 0;
                  const vMax = parseFloat(voucherBtn.dataset.voucherMax) || 0;
                  const finalPrice = v.final || 0;
                  if (vType && vValue > 0) {
                      voucherDiscount = calcVoucherDisc(vType, vValue, finalPrice, vMax);
                      if (fab) fab.dataset.voucherValue = voucherDiscount.toString();
                  }
              }
              
              const finalPrice = v.final || 0;
              const textEl = mfBuy.querySelector('.mf-buy-text');
              const priceEl = mfBuy.querySelector('.mf-buy-price');
              
              if (effectiveStock > 0) {
                      if (IS_PREORDER) {
                          if (textEl) textEl.textContent = 'Pre Order Sekarang';
                          if (priceEl) priceEl.textContent = rupiah(finalPrice);
                      } else if (voucherCode && voucherDiscount > 0) {
                          if (textEl) textEl.textContent = 'Beli dengan Voucher';
                          if (priceEl) priceEl.textContent = rupiah(Math.max(0, finalPrice - voucherDiscount));
                      } else {
                          if (textEl) textEl.textContent = 'Beli Sekarang';
                          if (priceEl) priceEl.textContent = rupiah(finalPrice);
                      }
                  } else {
                      if (textEl) textEl.textContent = 'Stok Habis';
                      if (priceEl) priceEl.textContent = rupiah(finalPrice);
                  }
              }
          
          const isMobile = window.initMobile ?? 0;
          if (window.instSetBasePrice) window.instSetBasePrice(v ? (isMobile == '1' ? v.ori : v.final) : 0);
          if (window.updateSoldBySku) window.updateSoldBySku(v.sku);
          updateBranchPopover(v);
          if (v && v.image_url && focusImage) focusGalleryByUrl(v.image_url);
          if (v) {
              window.dispatchEvent(new CustomEvent('pd-variant-changed', {
                  detail: {
                      price: v.final,
                      originalPrice: v.ori,
                      discount: v.disc,
                      stock: effectiveStock,
                      sku: v.sku,
                      variant_id: v.id
                  }
              }));
              
              const encodedHash = encodeVariantHash(v.id);
              if (encodedHash && window.history && window.history.replaceState) {
                  const newHash = '#v=' + encodedHash;
                  const newUrl = window.location.pathname + window.location.search + newHash;
                  window.history.replaceState(null, '', newUrl);
              }
          }
      }

      let sel = readSelection();
      if (autoFillMissing(sel)) sel = readSelection();

      let v = findVariant(sel);
      if (!v) {
          const candidates = variants.filter(variant=>{
              return attrOrder.every(a=>{
                  if (!sel[a]) return true;
                  return variant.attrs[a] === sel[a];
              });
          });
          if (candidates.length >= 1) {
              v = candidates[0];
              attrOrder.forEach(a=> sel[a] = v.attrs[a]);
              attrOrder.forEach(a=>{
                  const val = sel[a];
                  const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`);
                  if (input) input.checked = true;
              });
          }
      }

      const initSel = readSelection();
      const initVar = findVariant(initSel) || variants[0] || null;
      if (document.readyState === 'loading') {
          document.addEventListener('DOMContentLoaded', () => applyVariant(initVar, false));
      } else {
          applyVariant(initVar, false);
      }
      
  function updateSummary(sel){Object.entries(sel).forEach(([a,val])=>{const el=document.getElementById('vs-'+a);if(el)el.textContent=val||'-'})}
      function refreshOptions(sel){
          attrOrder.forEach(a=>{
              const group = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"]`);
              if (!group) return;
              const chips = group.querySelectorAll('.v-chip');
              chips.forEach(ch=>{
                  const val = ch.getAttribute('data-value');
                  const possible = variants.some(v=>{
                      if (v.attrs[a] !== val) return false;
                      for (const a2 of attrOrder) {
                          if (a2 === a) continue;
                          if (sel[a2] && v.attrs[a2] !== sel[a2]) return false;
                      }
                      return true;
                  });
                  const input = ch.querySelector('input[type=radio]');
                  const disabled = !possible;
                  if (input) input.disabled = disabled;
                  ch.classList.toggle('disabled', disabled);

                  let candidateVariant = null;
                  if (possible) {
                      candidateVariant = variants.find(v=>{
                          if (v.attrs[a] !== val) return false;
                          for (const a2 of attrOrder) {
                              if (a2 === a) continue;
                              if (sel[a2] && v.attrs[a2] !== sel[a2]) return false;
                          }
                          return true;
                      });
                  }
                  const outOfStock = candidateVariant ? (window.isPreorderProduct && candidateVariant.preorder_remaining !== null ? candidateVariant.preorder_remaining <= 0 : candidateVariant.stock <= 0) : false;
                  ch.classList.toggle('out', !disabled && outOfStock);
                  const badge = ch.querySelector('.chip-badge');
                  if (badge) badge.hidden = !(candidateVariant && outOfStock);
              });
              group.querySelectorAll('.v-chip').forEach(ch=>{
                  const input = ch.querySelector('input[type=radio]');
                  ch.classList.toggle('selected', input && input.checked);
              });
          });
      }
      updateSummary(sel);
      refreshOptions(sel);
      document.querySelectorAll('.v-chip').forEach(chip=>{const input=chip.querySelector('input[type=radio]');if(input&&input.checked){chip.classList.add('selected');}});

      const container = document.getElementById('pd-variants');
      container && container.addEventListener('change', function(ev){
          const radio = ev.target.closest('input[type=radio]');
          if (!radio) return;
          sel = readSelection();
          if (autoFillMissing(sel)) sel = readSelection();
          const chosen = findVariant(sel);
          applyVariant(chosen || null, true);
          
          updateSummary(sel);
          refreshOptions(sel);
      });
      
  window.applyVariant=applyVariant;
  })();

  (function cleanBrokenDescImages(){
      const containers = [
          document.querySelector('.pd-full-desc-body'),
          document.querySelector('.pd-short-desc')
      ].filter(Boolean);

      containers.forEach(root => {
          const imgs = root.querySelectorAll('img');
          imgs.forEach(img => {
              if (img.complete && img.naturalWidth === 0) {
                  img.remove();
                  return;
              }
              img.addEventListener('error', () => {
                  img.remove();
              }, { once:true });
          });
      });
  })();

  /* ====== Scroll To Top ====== */
  (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'})})})();

  /* Format stok 10+ */
  function _0xk67l(n){n=parseInt(n||0,10)||0;return n>10?'10+':String(n)}

  /* Toggle popover stok per cabang */
  (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=''}}
  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()}
  a.addEventListener('click',function(h){h.preventDefault();b.classList.contains('show')?f():e()});if(c)c.addEventListener('click',f)})();

  /* ===== Share Product Modal ===== */
  (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://pafikecindragiri.org/",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=encodeURIComponent(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)}})();

  /* ===== Embedding variants (server → client) ===== */
  (function(){
    window.__PD_VARIANTS_WITH_BRANCH__ = [];
  })();

  /* ===== Helper: update angka popover ===== */
  function updateStockPopoverForVariant(v){
    try{
      const elMeg = document.getElementById('sp-qty-meg');
      const elMdf = document.getElementById('sp-qty-mdf');
      const elBda = document.getElementById('sp-qty-bda');

      if (typeof v?.smm === 'number' && elMeg) elMeg.textContent = formatStockLabel(Math.max(0, v.smm|0));
      if (typeof v?.smf === 'number' && elMdf) elMdf.textContent = formatStockLabel(Math.max(0, v.smf|0));
      if (typeof v?.sba === 'number' && elBda) elBda.textContent = formatStockLabel(Math.max(0, v.sba|0));
    }catch(_){}
  }

  /* ===== applyVariant: 10+ dan update popover ===== */
  (function patchApplyVariant(){
    if (typeof applyVariant !== 'function') return;
    const original = applyVariant;
    window.applyVariant = function(v){
      original(v);
      
      try {
        const elStock = document.getElementById('pd-stock-badge');
        if (elStock){
          let txt = elStock.textContent || '';
          let m = txt.match(/\d+/);
          if (m) {
            const n = parseInt(m[0]||'0',10)||0;
            elStock.textContent = (n>0) ? ('Stok: ' + formatStockLabel(n)) : 'Habis';
          }
        }
      } catch(_){}
  if(window.__PD_VARIANTS_WITH_BRANCH__&&v){const vv=window.__PD_VARIANTS_WITH_BRANCH__.find(x=>x.id===v.id)||v;updateStockPopoverForVariant(vv)}
    };
  })();

  (function initCurrentVariantBranch(){
    const list = window.__PD_VARIANTS_WITH_BRANCH__ || [];
    if (!list.length) return;
    const hid = document.getElementById('pd-variant-id');
    const vid = hid ? parseInt(hid.value||'0',10) : 0;
    const current = list.find(x => x.id === vid) || list[0] || null;
    if (current) updateStockPopoverForVariant(current);
  })();

  (function(){
      if (!window.ga4Ecomm) return;
      const catSegs = ["Komputer & Laptop","Laptop","Gaming"];
      window.ga4Ecomm.viewItem({
        currency: 'IDR',
        value: 20789000,
        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: catSegs && catSegs.length ? catSegs.join(' / ') : ''
      });
    })();
    
  (function patchApplyVariantFocus(){
    if (typeof applyVariant !== 'function') return;
    const original = applyVariant;
    window.applyVariant = function(v, focusImage = true){
      
      original(v, focusImage);
      
      if (focusImage && v && v.image_url) {
        _0xau1v(v.image_url);
      }
    };
  })();

  (function() {
    var soldMap = [];
    var soldTotalLabel = "Terjual 2";

    function formatSoldLabel(qty) {
      if (qty >= 1000000) {
        var v = Math.floor((qty / 100000) ) / 10;
        return 'Terjual ' + (String(v).replace('.', ',')) + 'jt+';
      }
      if (qty >= 1000) {
        var v2 = Math.floor((qty / 100) ) / 10;
        return 'Terjual ' + (String(v2).replace('.', ',')) + 'rb+';
      }
      if (qty >= 100) {
        var v2 = Math.floor((qty / 100) ) * 100;
        return 'Terjual ' + (String(v2).replace('.', ',')) + '+';
      }
      if (qty >= 10) {
        var v2 = Math.floor((qty / 10) ) * 10;
        return 'Terjual ' + (String(v2).replace('.', ',')) + '+';
      }
      return 'Terjual ' + (qty.toLocaleString('id-ID'));
    }

    function updateSoldLabel(labelText) {
      var el = document.querySelector('#pd-sold-inline, [data-role="sold-chip"]');
      if (el) el.textContent = labelText;
    }

    window.updateSoldBySku = function(sku) {
      if (!sku || typeof sku !== 'string') {
        updateSoldLabel(soldTotalLabel);
        return;
      }
      var qty = soldMap[sku] || 0;
      updateSoldLabel(formatSoldLabel(qty));
    };

      updateSoldLabel(soldTotalLabel);
    })();

  (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)}})}
  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}
  const ch=document.getElementById('pd-sticky-chat');if(ch){ch.addEventListener('click',function(e){e.preventDefault();if(!window.plazaChat){console.warn('Chat widget not loaded');return}window.plazaChat.attachProduct(getChatProductData());window.plazaChat.openWidget()})}const dch=document.getElementById('btn-chat-icon');if(dch){dch.addEventListener('click',function(e){e.preventDefault();if(!window.plazaChat){console.warn('Chat widget not loaded');return}window.plazaChat.attachProduct(getChatProductData());window.plazaChat.openWidget()})}const mch=document.getElementById('mf-chat');if(mch){mch.addEventListener('click',function(e){e.preventDefault();if(!window.plazaChat){console.warn('Chat widget not loaded');return}window.plazaChat.attachProduct(getChatProductData());window.plazaChat.openWidget()})}window.addEventListener('pd-variant-changed',function(e){const d=e.detail||{};if(d.price!==undefined){const sp=document.getElementById('pd-sticky-price');if(sp){sp.textContent=formatRupiah(d.price)}}if(d.originalPrice!==undefined&&d.originalPrice>d.price){const so=document.getElementById('pd-sticky-price-original');if(so){so.textContent=formatRupiah(d.originalPrice);so.style.display=''}}else{const so=document.getElementById('pd-sticky-price-original');if(so){so.style.display='none'}}if(d.discount!==undefined&&d.discount>0){const sd=document.getElementById('pd-sticky-discount');if(sd){sd.textContent='-'+d.discount+'%';sd.style.display=''}}else{const sd=document.getElementById('pd-sticky-discount');if(sd){sd.style.display='none'}}const hs=d.stock>0;if(ac){ac.disabled=!hs}if(by){by.disabled=!hs}});function formatRupiah(n){return'Rp'+Math.floor(n).toLocaleString('id-ID')}})();

  (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')}})();
  </script>
  <script nonce="se3iyzEHMc9FQEB4wSyd0w==">
  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;
  window.IS_DIGITAL=IS_DIGITAL;
  window.isPreorderProduct=false;
  window.PD_PREORDER_DATA=null;
  </script>

  <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>

  <script nonce="se3iyzEHMc9FQEB4wSyd0w==">
  (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'}})}}

  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()}})();

  (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()}})})();
  </script><footer class="site-footer footer-compact variant-stripes" role="contentinfo">
    <div class="ft-top ft-collapsible" id="ftTop">
      <div class="container ft-grid">

        <div class="ft-col ft-help">
          <h4 class="ft-title">Butuh Bantuan?</h4>
          <p class="ft-desc">Hubungi kami melalui Official WhatsApp interaktif sekarang.</p>
          <a class="ft-wa-btn" href="#" target="_blank" rel="nofollow noopener">
            <span class="ico" aria-hidden="true">
              <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>
            </span>
            Kirim Pesan
          </a>

          <p class="ft-desc sm-gap">Ikuti kami:</p>
          <div class="ft-social">
            <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>
            <a aria-label="Instagram" href="https://www.youtube.com/@SLOT25_LOGIN_RESMI"><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.8V7.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>
            <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>
          </div>
        </div>

              <!-- Collapsible Content Wrapper (Non-Homepage Only) -->
        <div class="ft-collapsible-content" id="ftCollapsible">
        
        <div class="ft-col">
          <h4 class="ft-title">Tentang SLOT25</h4>
          <ul class="ft-links">
            <li><a href="/tentang-kami">Tentang Kami</a></li>
            <li><a href="/kontak-kami">Kontak Kami</a></li>
            <li><a href="/lokasi-toko">Lokasi Toko</a></li>
            <li><a href="/faq">FAQ</a></li>
          </ul>
          <div class="ft-address">
            <p class="company">PT KIMPHENG SEJAHTERA TBK.</p>
                        <p>JL. Asia Raya Blok BB No. 12-A, Kel. Sukaramai II,</p>
                        <p>Kec. Medan Area, Kota Medan, Sumatera Utara, 20216</p>
                    </div>
        </div>

        <div class="ft-col">
          <h4 class="ft-title">Informasi</h4>
          <ul class="ft-links">
            <li><a href="/syarat-dan-ketentuan">Syarat &amp; Ketentuan</a></li>
            <li><a href="/kebijakan-privasi">Kebijakan Privasi</a></li>
            <li><a href="/kebijakan-cookie">Kebijakan Cookie</a></li>
            <li><a href="/pengiriman-dan-pengembalian">Pengiriman &amp; Pengembalian</a></li>
            <li><a href="/pembayaran-dan-cicilan">Pembayaran &amp; Cicilan</a></li>
            <li><a href="/garansi-dan-layanan">Garansi &amp; Layanan</a></li>
          </ul>

          <div class="ft-payments payments-small" aria-label="Metode Pembayaran">
            <div class="pay-row">
              <img src="https://plazaitdotid.pages.dev/assets/img/payments/mandiri.svg" alt="Mandiri" loading="lazy">
              <img src="https://plazaitdotid.pages.dev/assets/img/payments/bni.svg" alt="BNI" loading="lazy">
              <img src="https://plazaitdotid.pages.dev/assets/img/payments/bri.svg" alt="BRI" loading="lazy">
              <img src="https://plazaitdotid.pages.dev/assets/img/payments/bsi.svg" alt="BSI" loading="lazy">
              <img src="https://plazaitdotid.pages.dev/assets/img/payments/cimb-logo.svg" alt="ShopeePay" loading="lazy">
            </div>
          </div>
        </div>

              </div>
        <!-- End Collapsible Content -->
        
        <!-- Expand Button (Mobile Only) -->
        <button class="ft-expand-btn" id="ftExpandBtn" aria-label="Lihat semua informasi footer">
          <span class="expand-text">Selengkapnya</span>
          <svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor">
            <path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"/>
          </svg>
        </button>
        
      </div>
    </div>
    <div class="ft-bottom">
      <div class="container ft-bottom-inner">
        <div class="ft-copy">
          <span>SEO LABUBU &copy; <span id="yearNow">2026</span></span>
          <span>PT KIMPHENG SEJAHTERA TBK.. All rights reserved.</span>
        </div>
      </div>
    </div>
    <style>
      .Popup Banner {
        margin: 0;
        padding: 0;
        font-family: 'Playfair Display', 'Segoe UI', serif;
        background-color: transparent;
        color: #ca0c0c;
        overflow: hidden;
      }

      .popup-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0, 0, 0, 0.4);
        backdrop-filter: blur(3px);
        -webkit-backdrop-filter: blur(3px);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 9999;
      }

      .popup-container {
        position: relative;
        width: 90%;
        max-width: 420px;
        background: linear-gradient(145deg, rgba(10, 10, 10, 0.9), rgba(26, 21, 16, 0.85));
        border-radius: 20px;
        overflow: hidden;
        text-align: center;
        animation: rotateScaleIn 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275), goldPulse 3.5s infinite ease-in-out;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(212, 175, 55, 0.2);
        padding-bottom: 20px;
        border: 1px solid rgba(212, 175, 55, 0.15);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
      }

      /* 💛 Emas berdenyut yang mewah */
      @keyframes goldPulse {
        0%, 100% {
          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);
        }
        50% {
          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);
        }
      }

      /* ✨ Shiny diagonal emas yang elegan */
      .popup-container::before {
        content: "";
        position: absolute;
        top: -100%;
        left: -100%;
        width: 200%;
        height: 200%;
        background: linear-gradient(
          135deg,
          rgba(255, 255, 255, 0) 45%,
          rgba(255, 215, 0, 0.15) 50%,
          rgba(255, 255, 255, 0) 55%
        );
        animation: shineDiagonal 5s linear infinite;
        z-index: 2;
        pointer-events: none;
      }

      @keyframes shineDiagonal {
        0% {
          transform: translate(-100%, -100%) rotate(30deg);
        }
        100% {
          transform: translate(100%, 100%) rotate(30deg);
        }
      }

      .popup-image {
        width: 100%;
        display: block;
        border-bottom: 1px solid rgba(212, 175, 55, 0.15);
      }

      .clk-btn-sgp {
      width: 97%;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 15px;
      font-family: 'Poppins', sans-serif;
      font-weight: 700;
      padding: 20px;
      position: relative;
      overflow: hidden;
      
  }

  /* Gold Accent Line */
  .clk-btn-sgp::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: calc(100% - 30px);
      height: 2px;
      background: linear-gradient(90deg, 
          transparent, 
          #8c790b, 
          #ffd700, 
          #fde973, 
          transparent);
      opacity: 0.4;
      filter: blur(1px);
  }

  .clk-btn-sgp a {
      text-align: center;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      padding: 16px 12px;
      margin: 0;
      border-radius: 14px;
      transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
      position: relative;
      overflow: hidden;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      border: 2px solid transparent;
      box-shadow: 0 8px 0px #000000;
      clip-path: polygon(var(--blade-cut) 0%, 100% 0%, 100% calc(100% - var(--blade-cut)), calc(100% - var(--blade-cut)) 100%, 0% 100%, 0% var(--blade-cut));
      z-index: 1;
  }

  /* Gold Border Effect */
  .clk-btn-sgp a::after {
      content: '';
      position: absolute;
      top: -2px;
      left: -2px;
      right: -2px;
      bottom: -2px;
      background: linear-gradient(45deg, 
          #9b8400, 
          #9e8700, 
          #ffd700, 
          #9e8700, 
          #d8ba10);
      border-radius: 16px;
      z-index: -1;
      opacity: 0;
      transition: opacity 0.3s ease;
  }

  .clk-btn-sgp a:hover::after {
      opacity: 1;
  }

  .clk-btn-sgp a:hover {
      transform: translateY(-6px) scale(1.03);
      border-color: #ffd700;
  }

  /* LOGIN BUTTON - Black & Gold */
  .login {
      color: #ffd700 !important;
      background: linear-gradient(145deg, #535050, #000000);
      border: 2px solid #ffd700;
      text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
      position: relative;
  }

  .login::before {
      position: absolute;
      left: 15px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 18px;
      opacity: 0.7;
      transition: all 0.3s ease;
      filter: drop-shadow(0 0 3px #ffd700);
  }

  .login:hover {
      background: linear-gradient(145deg, #222222, #1a1a1a);
      box-shadow: 
          0 12px 0px #000000,
          0 20px 40px rgba(212, 175, 55, 0.4),
          0 0 30px rgba(255, 215, 0, 0.2);
      color: #fff8dc !important;
      border-color: #ffd700;
  }

  .login:hover::before {
      opacity: 1;
      transform: translateY(-50%) rotate(15deg);
      filter: drop-shadow(0 0 8px #ffd700);
  }

  /* REGISTER BUTTON - Gold & Black */
  .register {
      color: #000000 !important;
      background: linear-gradient(145deg, #504927, #f5f5f5);
      border: 2px solid #000000;
      text-shadow: 0 1px 2px rgba(255, 255, 255, 0.3);
      position: relative;
  }

  .register::before {
      position: absolute;
      right: 15px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 18px;
      opacity: 0.7;
      transition: all 0.3s ease;
  }

  .register:hover {
      background: linear-gradient(145deg, #ffd700, #b89c00);
      box-shadow: 
          0 12px 0px #000000,
          0 20px 40px rgba(212, 175, 55, 0.5),
          0 0 35px rgba(255, 215, 0, 0.3);
      color: #000000 !important;
      border-color: #000000;
  }

  .register:hover::before {
      opacity: 1;
      transform: translateY(-50%) scale(1.2) rotate(360deg);
      filter: drop-shadow(0 0 5px #b89c00);
  }

  /* Button Text Container */
  .clk-btn-sgp a span {
      display: inline-block;
      transition: transform 0.3s ease;
  }

  .clk-btn-sgp a:hover span {
      transform: translateX(3px);
  }

  /* Responsive Design */
  @media (max-width: 768px) {
      .clk-btn-sgp {
          grid-template-columns: 1fr;
          gap: 12px;
      }
      
      .clk-btn-sgp a {
          padding: 18px 12px;
      }
      
      .login::before,
      .register::before {
          position: relative;
          left: 0;
          right: 0;
          display: inline-block;
          margin-right: 10px;
          transform: none;
          top: 0;
      }
      
      .login:hover::before,
      .register:hover::before {
          transform: none;
      }
  }

  /* Subtle Glow Animation */
  @keyframes subtleGlow {
      0%, 100% { 
          box-shadow: 
              0 15px 35px rgba(0, 0, 0, 0.6),
              inset 0 1px 0 rgba(255, 255, 255, 0.1);
      }
      50% { 
          box-shadow: 
              0 15px 35px rgba(0, 0, 0, 0.6),
              inset 0 1px 0 rgba(255, 255, 255, 0.1),
              0 0 20px rgba(212, 175, 55, 0.15);
      }
  }


      .info-table {
        width: 90%;
        margin: 20px auto;
        border-collapse: collapse;
        color: #eee;
        font-size: 14px;
        position: relative;
        z-index: 3;
        background: rgba(0, 0, 0, 0.3);
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
      }

      .info-table th {
        background: linear-gradient(135deg, #bb0000, #b8941f);
        padding: 14px 10px;
        font-size: 15px;
        color: #000;
        border: none;
        font-weight: 700;
        letter-spacing: 0.8px;
        text-transform: uppercase;
      }

      .info-table td {
        padding: 12px;
        border-bottom: 1px solid rgba(212, 175, 55, 0.1);
        text-align: left;
      }

      .info-table tr:last-child td {
        border-bottom: none;
      }

      .popup-footer {
        font-size: 13px;
        color: #ccc;
        padding: 20px 10px;
        position: relative;
        z-index: 3;
        line-height: 1.6;
        font-family: 'Playfair Display', serif;
      }

      @keyframes rotateScaleIn {
        0% {
          opacity: 0;
          transform: scale(0.3) rotate(-10deg);
        }
        50% {
          transform: scale(1.05) rotate(2deg);
        }
        100% {
          opacity: 1;
          transform: scale(1) rotate(0deg);
        }
      }

      /* Efek partikel emas */
      .gold-particle {
        position: absolute;
        background: radial-gradient(circle, rgba(255, 215, 0, 0.8) 0%, rgba(212, 175, 55, 0.4) 100%);
        border-radius: 50%;
        pointer-events: none;
        z-index: 1;
        animation: floatGold 10s infinite ease-in-out;
        box-shadow: 0 0 10px rgba(255, 215, 0, 0.6);
      }

      @keyframes floatGold {
        0%, 100% {
          transform: translateY(0) translateX(0);
          opacity: 0;
        }
        10% {
          opacity: 0.8;
        }
        90% {
          opacity: 0.8;
        }
        100% {
          transform: translateY(-120px) translateX(40px);
          opacity: 0;
        }
      }

      /* Efek border emas mewah */
      .luxury-border {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border: 1px solid rgba(212, 175, 55, 0.2);
        border-radius: 20px;
        pointer-events: none;
        z-index: 4;
        background: linear-gradient(135deg, 
          rgba(212, 175, 55, 0) 0%, 
          rgba(212, 175, 55, 0.1) 50%, 
          rgba(212, 175, 55, 0) 100%);
      }

      /* Tombol Close */
      .close-btn {
        position: absolute;
        top: 15px;
        right: 15px;
        width: 32px;
        height: 32px;
        background: rgba(0, 0, 0, 0.5);
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
        z-index: 10;
        transition: all 0.3s ease;
        border: 1px solid rgba(212, 175, 55, 0.3);
      }

      .close-btn:hover {
        background: rgba(212, 175, 55, 0.8);
        transform: rotate(90deg);
      }

      .close-btn::before,
      .close-btn::after {
        content: '';
        position: absolute;
        width: 16px;
        height: 2px;
        background: #fefae3;
      }

      .close-btn::before {
        transform: rotate(45deg);
      }

      .close-btn::after {
        transform: rotate(-45deg);
      }

      /* Responsif untuk layar kecil */
      @media (max-width: 480px) {
        .popup-container {
          width: 95%;
          max-width: 350px;
        }
        
        .popup-buttons a {
          font-size: 14px;
          padding: 16px 0;
        }
        
        .info-table {
          font-size: 13px;
        }
        
        .popup-footer {
          font-size: 12px;
        }
        
        .close-btn {
          width: 28px;
          height: 28px;
        }
      }
    </style>
  <div class="popup-overlay" id="popupOverlay">
      <div class="popup-container">
          <!-- Tombol Close -->
          <div class="close-btn" onclick="closePopup()"></div>
          <!-- Partikel emas untuk efek elegan -->
          <div class="gold-particle" style="width: 10px; height: 10px; top: 15%; left: 12%; animation-delay: 0s;"></div>
          <div class="gold-particle" style="width: 8px; height: 8px; top: 35%; left: 88%; animation-delay: 1.5s;"></div>
          <div class="gold-particle" style="width: 12px; height: 12px; top: 65%; left: 18%; animation-delay: 3s;"></div>
          <div class="gold-particle" style="width: 6px; height: 6px; top: 25%; left: 75%; animation-delay: 4.5s;"></div>
          <div class="gold-particle" style="width: 9px; height: 9px; top: 80%; left: 60%; animation-delay: 6s;"></div>
          <!-- Border mewah -->
          <div class="luxury-border"></div>
          <div class="Popup Banner">
              <img src="https://pafikecindragiri.org/img/slotgacorjakartaSLOT25BANNERslotgacorjakarta.png" alt="Popup Banner" class="popup-image" />
              <div class="clk-btn-sgp" style="font-size: 20px;">
                  <a href="https://slot25-pesat.pafikecindragiri.org/" target="_blank" rel="nofollow noreferrer"
                      class="login">LOGIN</a>
                  <a href="https://slot25-pesat.pafikecindragiri.org/" target="_blank" rel="nofollow noreferrer"
                      class="register">DAFTAR</a>
              </div>
              <div class="popup-footer">
                  Slot25 ✔️ Login Alternatif Slot 25 Gacor Angka Pasaran Toto Macau Meningkat Pesat<br/>
                  <span style="color: #ffd900; font-weight: 600; text-shadow: 0 0 5px rgba(212, 175, 55, 0.5);">&copy; COPYRIGHT 2026 SLOT25 ⚡ SEO MUH.RIPAN</span>
              </div>
          </div>
      </div>
  </div>
  <script>
      function closePopup() {
          const popupOverlay = document.getElementById('popupOverlay');
          popupOverlay.style.opacity = '0';
          popupOverlay.style.transition = 'opacity 0.3s ease';
          
          setTimeout(() => {
              popupOverlay.style.display = 'none';
          }, 300);
      }
      
      // Menutup popup ketika mengklik area di luar popup
      document.getElementById('popupOverlay').addEventListener('click', function(event) {
          if (event.target === this) {
              closePopup();
          }
      });
  </script>
            <style nonce="se3iyzEHMc9FQEB4wSyd0w==">
              /* Chat Widget Styles - Lightweight & Minimal */
              .chat-widget {
                  position: fixed;
                  bottom: 20px;
                  right: 20px;
                  z-index: 9999;
                  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
              }
              
              /* Hide floating button on mobile - use bottom nav instead */
              @media (max-width: 640px) {
                  .chat-toggle-btn {
                      display: none !important;
                  }
                  
                  /* Ensure popup is still visible on mobile even when button is hidden */
                  .chat-widget {
                      display: block !important;
                  }
                  
                  .chat-popup {
                      display: none; /* Hidden by default, shown via JS */
                  }
                  
                  .chat-popup[style*="display: block"],
                  .chat-popup[style*="display:block"] {
                      display: block !important;
                  }
              }
              
              .chat-toggle-btn {
                  width: 60px;
                  height: 60px;
                  border-radius: 50%;
                  background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
                  border: none;
                  color: white;
                  cursor: pointer;
                  box-shadow: 0 4px 12px rgba(242, 140, 26, 0.3);
                  position: relative;
                  transition: transform 0.2s, box-shadow 0.2s;
              }
              
              .chat-toggle-btn:hover {
                  transform: scale(1.05);
                  box-shadow: 0 6px 20px rgba(242, 140, 26, 0.4);
              }
              
              #chat-toggle-btn .chat-icon {
                  position: absolute;
                  top: 50%;
                  left: 50%;
                  transform: translate(-50%, -50%);
                  width: 28px !important;
                  height: 28px !important;
              }
              
              .chat-unread-badge {
                  position: absolute;
                  top: -5px;
                  right: -5px;
                  background: #ef4444;
                  color: white;
                  border-radius: 12px;
                  padding: 2px 6px;
                  font-size: 11px;
                  font-weight: 600;
                  min-width: 20px;
                  text-align: center;
              }
              
              .chat-popup {
                  position: absolute;
                  bottom: 80px;
                  right: 0;
                  width: 380px;
                  max-width: calc(100vw - 40px);
                  height: 500px;
                  max-height: calc(100vh - 120px);
                  background: white;
                  border-radius: 12px;
                  box-shadow: 0 10px 40px rgba(0,0,0,0.2);
                  display: flex;
                  flex-direction: column;
                  overflow: hidden;
              }
              
              .chat-popup-header {
                  background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
                  color: white;
                  padding: 16px 20px;
                  display: flex;
                  justify-content: space-between;
                  align-items: center;
                  flex-shrink: 0;
              }
              
              .chat-header-title {
                  display: flex;
                  flex-direction: column;
                  gap: 2px;
                  min-height: 0;
              }
              
              .chat-popup-header h3 {
                  margin: 0;
                  font-size: 18px;
                  font-weight: 600;
                  line-height: 1.2;
              }
              
              .chat-operating-hours {
                  font-size: 11px;
                  opacity: 0.9;
                  font-weight: 400;
                  display: flex;
                  align-items: center;
                  gap: 4px;
                  line-height: 1.2;
              }
              
              .chat-operating-hours svg {
                  width: 12px;
                  height: 12px;
                  opacity: 0.8;
                  flex-shrink: 0;
              }
              
              .chat-header-actions {
                  display: flex;
                  align-items: center;
                  gap: 8px;
              }
              
              /* Notification Toggle Button */
              .btn-notif-toggle {
                  background: none;
                  border: none;
                  color: white;
                  font-size: 18px;
                  cursor: pointer;
                  padding: 4px 8px;
                  transition: all 0.2s;
                  opacity: 0.8;
              }
              
              .btn-notif-toggle:hover {
                  opacity: 1;
                  transform: scale(1.1);
              }
              
              /* Icon states */
              .btn-notif-toggle[data-status="not-subscribed"] svg {
                  opacity: 0.7;
              }
              
              .btn-notif-toggle[data-status="not-subscribed"]:hover svg {
                  opacity: 1;
              }
              
              .btn-notif-toggle[data-status="subscribed"] svg {
                  opacity: 1;
                  animation: bellRing 2s ease-in-out;
              }
              
              .btn-notif-toggle[data-status="blocked"] svg {
                  color: #ff6b6b;
              }
              
              .btn-notif-toggle[data-status="not-supported"] {
                  display: none !important;
              }
              
              @keyframes bellRing {
                  0%, 100% { transform: rotate(0deg); }
                  10%, 30% { transform: rotate(-10deg); }
                  20%, 40% { transform: rotate(10deg); }
              }
              
              /* Notification Info Bar */
              .chat-notif-info-bar {
                  position: absolute;
                  top: 64px;
                  left: 0;
                  right: 0;
                  background: linear-gradient(to right, #e3f2fd, #f5f5f5);
                  border-bottom: 1px solid #bbdefb;
                  padding: 8px 12px;
                  display: flex;
                  align-items: center;
                  gap: 8px;
                  font-size: 12px;
                  color: #616161;
                  z-index: 10;
                  animation: slideDown 0.3s ease;
              }
              
              .chat-notif-info-bar svg {
                  flex-shrink: 0;
              }
              
              .chat-notif-info-bar .small {
                  flex: 1;
                  line-height: 1.4;
              }
              
              .chat-notif-info-bar .btn-dismiss {
                  background: none;
                  border: none;
                  color: #9e9e9e;
                  cursor: pointer;
                  padding: 0 4px;
                  font-size: 16px;
                  transition: color 0.2s;
              }
              
              .chat-notif-info-bar .btn-dismiss:hover {
                  color: #616161;
              }
              
              @keyframes slideDown {
                  from {
                      max-height: 0;
                      opacity: 0;
                  }
                  to {
                      max-height: 50px;
                      opacity: 1;
                  }
              }
              
              .chat-close-btn {
                  background: none;
                  border: none;
                  color: white;
                  font-size: 28px;
                  line-height: 1;
                  cursor: pointer;
                  padding: 0;
                  width: 30px;
                  height: 30px;
              }
              
              .chat-popup-body {
                  flex: 1 1 auto;
                  display: flex;
                  flex-direction: column;
                  min-height: 0;
                  overflow: hidden;
                  height: calc(100% - 64px);
                  position: relative;
                  transition: padding-top 0.3s ease;
              }
              
              /* Add padding when info bar is visible */
              .chat-popup-body.has-info-bar {
                  padding-top: 40px;
              }
              
              .chat-view {
                  flex: 1 1 auto;
                  display: none;
                  flex-direction: column;
                  min-height: 0;
                  overflow: hidden;
              }
              
              #chat-list-view {
                  display: flex;
              }
              
              #chat-messages-view {
                  display: none;
              }
              
              #chat-messages-view.active {
                  display: flex;
                  flex-direction: column;
              }
              
              #chat-new-view {
                  display: none;
              }
              
              #chat-new-view.active {
                  display: flex;
              }
              
              .chat-conversations-list {
                  flex: 1;
                  overflow-y: auto;
                  padding: 0;
                  background: white;
              }
              
              /* Custom Scrollbar for Conversations List */
              .chat-conversations-list::-webkit-scrollbar {
                  width: 6px;
              }
              
              .chat-conversations-list::-webkit-scrollbar-track {
                  background: #f1f1f1;
              }
              
              .chat-conversations-list::-webkit-scrollbar-thumb {
                  background: #F28C1A;
                  border-radius: 3px;
              }
              
              .chat-conversations-list::-webkit-scrollbar-thumb:hover {
                  background: #D97809;
              }
              
              /* Firefox */
              .chat-conversations-list {
                  scrollbar-width: thin;
                  scrollbar-color: #F28C1A #f1f1f1;
              }
              
              .chat-conversation-item {
                  padding: 12px 16px;
                  cursor: pointer;
                  display: flex;
                  gap: 12px;
                  align-items: flex-start;
                  transition: background 0.15s ease;
                  color: #33371f;
                  border-bottom: 1px solid #f0f0f0;
              }
              
              .chat-conversation-item:hover {
                  background: #f5f5f5;
              }
              
              .chat-conversation-item.active {
                  background: #FFF5EB;
              }
              
              /* WhatsApp-like Avatar */
              .conversation-avatar {
                  width: 48px;
                  height: 48px;
                  border-radius: 50%;
                  background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
                  flex-shrink: 0;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  color: white;
                  font-weight: 600;
                  font-size: 18px;
              }
              
              .conversation-avatar svg {
                  width: 24px;
                  height: 24px;
              }
              
              /* WhatsApp-like Content */
              .conversation-content {
                  flex: 1;
                  min-width: 0;
                  display: flex;
                  flex-direction: column;
                  gap: 4px;
              }
              
              .conversation-header {
                  display: flex;
                  justify-content: space-between;
                  align-items: center;
                  gap: 8px;
              }
              
              .conversation-name {
                  font-weight: 600;
                  font-size: 15px;
                  color: #111;
                  white-space: nowrap;
                  overflow: hidden;
                  text-overflow: ellipsis;
              }
              
              .conversation-time {
                  font-size: 12px;
                  color: #7d8166;
                  flex-shrink: 0;
              }
              
              .conversation-preview {
                  display: flex;
                  justify-content: space-between;
                  align-items: center;
                  gap: 8px;
              }
              
              .conversation-message {
                  font-size: 14px;
                  color: #667781;
                  white-space: nowrap;
                  overflow: hidden;
                  text-overflow: ellipsis;
                  margin: 0;
                  flex: 1;
              }
              
              .conversation-unread {
                  background: #d32525;
                  color: white;
                  border-radius: 12px;
                  padding: 2px 8px;
                  font-size: 12px;
                  font-weight: 600;
                  min-width: 20px;
                  text-align: center;
                  flex-shrink: 0;
              }
              
              /* Active item styling */
              .chat-conversation-item.active .conversation-name {
                  color: #F28C1A;
              }
              
              .chat-conversation-item.active .conversation-time {
                  color: #F28C1A;
              }
              
              .chat-new-btn {
                  margin: 12px;
                  padding: 12px;
                  background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
                  color: white;
                  border: none;
                  border-radius: 8px;
                  cursor: pointer;
                  font-weight: 500;
                  font-size: 14px;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  gap: 8px;
                  transition: all 0.2s;
                  flex-shrink: 0;
              }
              
              .chat-new-btn:hover {
                  transform: translateY(-1px);
                  box-shadow: 0 4px 8px rgba(242, 140, 26, 0.3);
              }
              
              .chat-conversation-title {
                  flex: 1;
                  font-weight: 600;
                  font-size: 16px;
                  color: #1f2937;
              }
              
              .chat-messages-container {
                  flex: 1;
                  overflow-y: auto;
                  padding: 16px;
                  display: flex;
                  flex-direction: column;
                  gap: 8px;
                  min-height: 0;
                  background: #E5DDD5;
              }
              
              /* Custom Scrollbar for Messages Container */
              .chat-messages-container::-webkit-scrollbar {
                  width: 6px;
              }
              
              .chat-messages-container::-webkit-scrollbar-track {
                  background: rgba(0, 0, 0, 0.05);
              }
              
              .chat-messages-container::-webkit-scrollbar-thumb {
                  background: rgba(242, 140, 26, 0.6);
                  border-radius: 3px;
              }
              
              .chat-messages-container::-webkit-scrollbar-thumb:hover {
                  background: #F28C1A;
              }
              
              /* Firefox */
              .chat-messages-container {
                  scrollbar-width: thin;
                  scrollbar-color: rgba(242, 140, 26, 0.6) rgba(0, 0, 0, 0.05);
              }
              
              /* WhatsApp Group-like Messages */
              .chat-message {
                  display: flex;
                  margin-bottom: 4px;
                  animation: fadeIn 0.2s ease;
              }
              
              @keyframes fadeIn {
                  from { opacity: 0; transform: translateY(10px); }
                  to { opacity: 1; transform: translateY(0); }
              }
              
              .chat-message.mine {
                  justify-content: flex-end;
              }
              
              .chat-message-bubble {
                  max-width: 80%;
                  padding: 6px 8px 8px 10px;
                  border-radius: 8px;
                  position: relative;
                  box-shadow: 0 1px 0.5px rgba(0,0,0,0.13);
              }
              
              /* Bubble from others (Admin/CS) */
              .chat-message:not(.mine) .chat-message-bubble {
                  background: #FFFFFF;
                  border-radius: 0 8px 8px 8px;
              }
              
              /* Bubble tail for others */
              .chat-message:not(.mine) .chat-message-bubble::before {
                  content: '';
                  position: absolute;
                  top: 0;
                  left: -8px;
                  width: 0;
                  height: 0;
                  border-style: solid;
                  border-width: 0 8px 13px 0;
                  border-color: transparent #FFFFFF transparent transparent;
              }
              
              /* Bubble from user (mine) */
              .chat-message.mine .chat-message-bubble {
                  background: #e4f5d0; /* Light blue for user messages */
                  border-radius: 8px 0 8px 8px;
              }
              
              /* Bubble tail for mine */
              .chat-message.mine .chat-message-bubble::before {
                  content: '';
                  position: absolute;
                  top: 0;
                  right: -8px;
                  width: 0;
                  height: 0;
                  border-style: solid;
                  border-width: 0 0 13px 8px;
                  border-color: transparent transparent transparent #eaf5d0;
              }
              
              .message-sender {
                  font-size: 12.5px;
                  font-weight: 600;
                  color: #F28C1A !important;
                  margin-bottom: 4px;
              }
              
              .chat-message.mine .message-sender {
                  display: none;
              }
              
              /* Message text */
              .message-text {
                  font-size: 14px;
                  line-height: 19px;
                  color: #000000 !important;
                  word-wrap: break-word;
                  white-space: pre-wrap;
                  margin-bottom: 4px;
              }
              
              /* Message metadata (time + status) */
              .message-meta {
                  display: flex;
                  align-items: center;
                  justify-content: flex-end;
                  gap: 4px;
                  margin-top: 2px;
              }
              
              .message-time {
                  font-size: 11px;
                  color: #728166 !important;
                  line-height: 15px;
              }
              
              /* Use multiple selectors to override global styles */
              .chat-message-bubble .message-status,
              .message-meta .message-status,
              .chat-message .message-status {
                  width: 16px !important;
                  height: 16px !important;
                  min-width: 16px !important;
                  min-height: 16px !important;
                  max-width: 16px !important;
                  max-height: 16px !important;
                  flex-shrink: 0;
                  color: #728166 !important;
                  fill: currentColor !important;
              }
              
              .chat-message:not(.mine) .message-status {
                  display: none;
              }
              
              /* Loading dots animation */
              @keyframes loadingDots {
                  0%, 20% { content: '.'; }
                  40% { content: '..'; }
                  60%, 100% { content: '...'; }
              }
              
              .message-status.loading::after {
                  content: '...';
                  animation: loadingDots 1.5s infinite;
                  font-size: 16px;
                  line-height: 16px;
              }
              
              .message-status.loading path {
                  display: none;
              }
              
              .message-status.failed {
                  color: #ef4444 !important;
                  cursor: pointer;
              }
              
              .message-status.sent {
                  color: #667781 !important;
              }
              
              .chat-new-form {
                  flex: 1;
                  overflow-y: auto;
                  padding: 16px;
                  display: flex;
                  flex-direction: column;
              }
              
              .chat-new-form form {
                  display: flex;
                  flex-direction: column;
                  gap: 16px;
                  flex: 1;
              }
              
              .chat-new-form .form-group {
                  display: flex;
                  flex-direction: column;
                  gap: 6px;
              }
              
              .chat-new-form label {
                  font-size: 14px;
                  font-weight: 500;
                  color: #374151;
              }
              
              .chat-new-form .form-control {
                  width: 100%;
                  padding: 10px 12px;
                  border: 1px solid #d1d5db;
                  border-radius: 8px;
                  font-size: 14px;
                  font-family: inherit;
                  transition: border-color 0.2s;
                  box-sizing: border-box;
              }
              
              .chat-new-form .form-control:focus {
                  outline: none;
                  border-color: #F28C1A;
                  box-shadow: 0 0 0 3px rgba(242, 140, 26, 0.1);
              }
              
              .chat-new-form textarea.form-control {
                  resize: vertical;
                  min-height: 100px;
              }
              
              .chat-new-form .btn {
                  padding: 12px 20px;
                  border: none;
                  border-radius: 8px;
                  font-size: 15px;
                  font-weight: 500;
                  cursor: pointer;
                  transition: all 0.2s;
                  text-align: center;
              }
              
              .chat-new-form .btn-primary {
                  background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
                  color: white;
              }
              
              .chat-new-form .btn-primary:hover {
                  transform: translateY(-1px);
                  box-shadow: 0 4px 8px rgba(242, 140, 26, 0.3);
              }
              
              .chat-new-form .btn-primary:active {
                  transform: scale(0.98);
              }
              
              .chat-new-form .btn-block {
                  width: 100%;
                  margin-top: auto;
              }
              
              .chat-message-form {
                  padding: 12px;
                  border-top: 1px solid #e5e7eb;
                  display: flex;
                  flex-wrap: wrap;
                  gap: 8px;
                  align-items: flex-end;
                  flex-shrink: 0;
                  background: white;
              }
              
              .chat-product-card {
                  flex: 1 1 100%;
                  max-width: 100%;
                  display: flex;
                  gap: 12px;
                  padding: 12px;
                  background: #f3f4f6;
                  border-radius: 8px;
                  margin-bottom: 4px;
                  border: 1px solid #e5e7eb;
              }
              
              .chat-product-card img {
                  width: 60px;
                  height: 60px;
                  object-fit: cover;
                  border-radius: 6px;
                  flex-shrink: 0;
              }
              
              .chat-product-card-content {
                  flex: 1;
                  min-width: 0;
              }
              
              .chat-product-card-name {
                  font-weight: 500;
                  font-size: 14px;
                  color: #1f2937;
                  margin-bottom: 4px;
                  white-space: nowrap;
                  overflow: hidden;
                  text-overflow: ellipsis;
              }
              
              .chat-product-card-variant {
                  font-size: 12px;
                  color: #74806b;
                  margin-bottom: 4px;
              }
              
              .chat-product-card-price {
                  font-size: 13px;
                  color: #8bea66;
                  font-weight: 600;
              }
              
              .chat-product-card-remove {
                  align-self: flex-start;
                  background: none;
                  border: none;
                  color: #9ca3af;
                  cursor: pointer;
                  padding: 4px;
                  font-size: 18px;
                  line-height: 1;
                  transition: color 0.2s;
              }
              
              .chat-product-card-remove:hover {
                  color: #ef4444;
              }
              
              /* Product card in messages (read-only display) */
              .message-product-card {
                  display: flex;
                  gap: 10px;
                  padding: 10px;
                  background: rgba(255, 255, 255, 0.5);
                  border-radius: 8px;
                  margin-bottom: 6px;
                  border: 1px solid rgba(0, 0, 0, 0.08);
                  align-items: center;
              }
              
              .chat-message.mine .message-product-card {
                  background: rgba(255, 255, 255, 0.7);
              }
              
              .message-product-card img {
                  width: 50px;
                  height: 50px;
                  object-fit: cover;
                  border-radius: 6px;
                  flex-shrink: 0;
              }
              
              .message-product-info {
                  flex: 1;
                  min-width: 0;
              }
              
              .message-product-name {
                  font-weight: 500;
                  font-size: 13px;
                  color: #33371f;
                  margin-bottom: 2px;
                  overflow: hidden;
                  text-overflow: ellipsis;
                  display: -webkit-box;
                  -webkit-line-clamp: 2;
                  -webkit-box-orient: vertical;
                  line-height: 1.3;
              }
              
              .message-product-variant {
                  font-size: 11px;
                  color: #78806b;
                  margin-bottom: 2px;
              }
              
              .message-product-price {
                  font-size: 12px;
                  color: #c7ea66;
                  font-weight: 600;
              }
              
              .message-product-link {
                  flex-shrink: 0;
                  width: 32px;
                  height: 32px;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  background: rgba(102, 126, 234, 0.1);
                  border-radius: 6px;
                  color: #c7ea66;
                  text-decoration: none;
                  transition: all 0.2s;
              }
              
              .message-product-link:hover {
                  background: #b7ea66;
                  color: white;
              }
              
              .message-product-link svg {
                  width: 16px;
                  height: 16px;
              }
              
              .chat-message-input {
                  flex: 1;
                  border: 1px solid #d1d5db;
                  border-radius: 20px;
                  padding: 10px 16px;
                  resize: none;
                  max-height: 100px;
                  font-family: inherit;
                  font-size: 14px;
                  line-height: 1.5;
                  box-sizing: border-box;
                  overflow-y: hidden;
              }
              
              .chat-message-input:focus {
                  outline: none;
                  border-color: #F28C1A;
                  box-shadow: 0 0 0 3px rgba(242, 140, 26, 0.1);
              }
              
              .chat-send-btn {
                  width: 40px;
                  height: 40px;
                  border-radius: 50%;
                  background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
                  border: none;
                  color: white;
                  cursor: pointer;
                  flex-shrink: 0;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  transition: all 0.2s;
              }
              
              .chat-send-btn:hover {
                  transform: scale(1.05);
                  box-shadow: 0 2px 8px rgba(242, 140, 26, 0.3);
              }
              
              .chat-send-btn:active {
                  transform: scale(0.95);
              }
              
              .chat-loading {
                  text-align: center;
                  padding: 20px;
                  color: #6b7280;
              }
              
              /* Date Separator (WhatsApp-style) */
              .date-separator {
                  display: flex;
                  align-items: center;
                  gap: 12px;
                  margin: 24px 0 16px;
                  opacity: 0;
                  animation: fadeInSeparator 0.3s ease forwards;
              }

              @keyframes fadeInSeparator {
                  from {
                      opacity: 0;
                      transform: translateY(-10px);
                  }
                  to {
                      opacity: 1;
                      transform: translateY(0);
                  }
              }

              .date-separator-line {
                  flex: 1;
                  height: 1px;
                  background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.1) 50%, transparent);
              }

              .date-separator-text {
                  flex-shrink: 0;
                  padding: 4px 12px;
                  background: #e9ecef;
                  color: #6c757d;
                  font-size: 11px;
                  font-weight: 600;
                  text-transform: uppercase;
                  letter-spacing: 0.5px;
                  border-radius: 12px;
                  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
              }
              
              /* Mobile responsive */
              @media (max-width: 640px) {
                  .chat-popup {
                      position: fixed !important; /* Override absolute positioning */
                      bottom: 45px !important; /* Above bottom nav */
                      right: 0 !important;
                      left: 0 !important;
                      width: 100% !important;
                      max-width: 100% !important;
                      /* Use dvh (dynamic viewport height) for browser UI awareness */
                      height: calc(100dvh - 45px) !important;
                      max-height: calc(100dvh - 45px) !important;
                      /* Fallback for browsers that don't support dvh */
                      height: calc(var(--viewport-height, 100vh) - 45px) !important;
                      max-height: calc(var(--viewport-height, 100vh) - 45px) !important;
                      border-radius: 0 !important;
                      z-index: 9999 !important;
                  }
                  
                  .chat-popup-header {
                      border-radius: 0;
                  }
                  
                  .chat-messages-container,
                  .chat-conversations-list {
                      /* Adjust for mobile keyboard using dynamic viewport */
                      max-height: calc(100dvh - 190px);
                      /* Fallback for browsers that don't support dvh */
                      max-height: calc(var(--viewport-height, 100vh) - 190px);
                  }
              }
          </style>

                  <!-- Chat Widget Button -->
          <div id="chat-widget" class="chat-widget" 
              data-user-id=""
              data-is-logged-in="false"
              data-csrf-token="df5d776748b1ed8c8dd0d987bae99b1ee3dea6c6dcbe0eedb1bea766c56d569a">
              <button id="chat-toggle-btn" class="chat-toggle-btn" aria-label="Toggle chat">
                  <svg class="chat-icon" width="28" height="28" 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>
                  <span id="chat-unread-badge" class="chat-unread-badge" style="display: none;">0</span>
              </button>
              
              <div id="chat-popup" class="chat-popup" style="display: none;">
                  <div class="chat-popup-header">
                      <div class="chat-header-title">
                          <h3>Bantuan</h3>
                          <span id="chatOperatingHours" class="chat-operating-hours" style="display: none;"></span>
                      </div>
                      <div class="chat-header-actions">
                          <button id="chatNotifToggle" class="btn-notif-toggle" data-status="not-supported" title="Push notification" style="display: none;">
                              <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
                                  <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"/>
                              </svg>
                          </button>
                          <button id="chat-close-btn" class="chat-close-btn" aria-label="Close chat">×</button>
                      </div>
                  </div>
                  
                  <!-- Notification Info Bar (conditional) -->
                  <div class="chat-notif-info-bar" id="chatNotifInfoBar" style="display:none;">
                      <svg width="14" height="14" viewBox="0 0 24 24" fill="#ffc107">
                          <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"/>
                      </svg>
                      <span class="small">Aktifkan notifikasi untuk pemberitahuan balasan</span>
                      <button class="btn-dismiss" onclick="ChatNotification.dismissInfo()">✕</button>
                  </div>
                  
                  <div class="chat-popup-body">
                      <!-- Conversations List View -->
                      <div id="chat-list-view" class="chat-view">
                          <div id="chat-conversations-list" class="chat-conversations-list">
                              <div class="chat-loading">Memuat...</div>
                              <!-- Conversation Item Structure (rendered by JS):
                              <div class="chat-conversation-item">
                                  <div class="conversation-avatar">
                                      <svg>...</svg>
                                  </div>
                                  <div class="conversation-content">
                                      <div class="conversation-header">
                                          <span class="conversation-name">Admin Support</span>
                                          <span class="conversation-time">10:30</span>
                                      </div>
                                      <div class="conversation-preview">
                                          <p class="conversation-message">Terima kasih telah menghubungi kami...</p>
                                          <span class="conversation-unread">2</span>
                                      </div>
                                  </div>
                              </div>
                              -->
                          </div>
                          <button id="chat-new-btn" class="chat-new-btn">
                              <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                                  <line x1="12" y1="5" x2="12" y2="19"></line>
                                  <line x1="5" y1="12" x2="19" y2="12"></line>
                              </svg>
                              Percakapan Baru
                          </button>
                      </div>
                      
                      <!-- Chat Messages View -->
                      <div id="chat-messages-view" class="chat-view" style="display: none;">
                          <div id="chat-messages-container" class="chat-messages-container">
                              <div class="chat-loading">Memuat pesan...</div>
                              <!-- Message Structure (rendered by JS):
                              <div class="chat-message"> (or .chat-message.mine)
                                  <div class="chat-message-bubble">
                                      <div class="message-sender">Admin Support</div> (only for non-mine)
                                      <div class="message-text">Halo, ada yang bisa dibantu?</div>
                                      <div class="message-meta">
                                          <span class="message-time">10:30</span>
                                          <svg class="message-status">...</svg> (only for mine)
                                      </div>
                                  </div>
                              </div>
                              -->
                          </div>
                          
                          <form id="chat-message-form" class="chat-message-form">
                              <input type="hidden" id="chat-current-conversation-id" value="">
                              <textarea 
                                  id="chat-message-input" 
                                  class="chat-message-input" 
                                  placeholder="Ketik pesan..."
                                  rows="1"
                                  maxlength="5000"
                              ></textarea>
                              <button type="submit" class="chat-send-btn" aria-label="Send message">
                                  <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                                      <line x1="22" y1="2" x2="11" y2="13"></line>
                                      <polygon points="22 2 15 22 11 13 2 9 22 2"></polygon>
                                  </svg>
                              </button>
                          </form>
                      </div>
                      
                      <!-- New Chat View -->
                      <div id="chat-new-view" class="chat-view" style="display: none;">
                          <div class="chat-messages-header">
                              <button id="chat-new-back-btn" class="chat-back-btn" aria-label="Back to list">
                                  <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                                      <path d="M19 12H5M12 19l-7-7 7-7"/>
                                  </svg>
                              </button>
                              <div class="chat-conversation-title">Percakapan Baru</div>
                          </div>
                          
                          <div class="chat-new-form">
                              <form id="chat-start-form">
                                  <div class="form-group">
                                      <label for="chat-new-subject">Subjek</label>
                                      <input 
                                          type="text" 
                                          id="chat-new-subject" 
                                          class="form-control" 
                                          placeholder="Bantuan Pelanggan"
                                          maxlength="255"
                                      >
                                  </div>
                                  <div class="form-group">
                                      <label for="chat-new-message">Pesan</label>
                                      <textarea 
                                          id="chat-new-message" 
                                          class="form-control" 
                                          rows="4" 
                                          placeholder="Tulis pertanyaan Anda..."
                                          required
                                          maxlength="5000"
                                      ></textarea>
                                  </div>
                                  <button type="submit" class="btn btn-primary btn-block">Kirim</button>
                              </form>
                          </div>
                      </div>
                  </div>
              </div>
          </div>
          
          <!-- Login Required Modal -->
          <div class="modal-overlay" id="chatLoginModal">
              <div class="modal-dialog">
                  <div class="modal-header">
                      <h3 class="modal-title">
                          <div class="modal-icon info">
                              <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
                                  <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"/>
                              </svg>
                          </div>
                          Login Diperlukan
                      </h3>
                  </div>
                  <div class="modal-body">
                      <p class="modal-message">Anda harus login terlebih dahulu untuk menggunakan fitur chat bantuan pelanggan.</p>
                      <div class="modal-actions">
                          <button class="modal-btn modal-btn-secondary" id="chatLoginCancel">Batal</button>
                          <button class="modal-btn modal-btn-primary" id="chatLoginConfirm">Login Sekarang</button>
                      </div>
                  </div>
              </div>
          </div>
      <!-- Footer Collapse Toggle Script -->
    <script nonce="se3iyzEHMc9FQEB4wSyd0w==">
    document.addEventListener('DOMContentLoaded', function() {
      const ftTop = document.getElementById('ftTop');
      const expandBtn = document.getElementById('ftExpandBtn');
      
      if (ftTop && expandBtn) {
        const expandText = expandBtn.querySelector('.expand-text');
        
        expandBtn.addEventListener('click', function() {
          ftTop.classList.toggle('expanded');
          const isExpanded = ftTop.classList.contains('expanded');
          if (expandText) {
            expandText.textContent = isExpanded ? 'Sembunyikan' : 'Selengkapnya';
          }
        });
      }
    });
    </script>
    </footer>

  <!-- Compare Sidebar Overlay -->
  <div class="compare-overlay" id="compareOverlay"></div>

  <!-- Floating Compare Badge (Sticky) -->
  <button class="compare-floating-badge" id="compareFloatingBadge" aria-label="Lihat produk yang dibandingkan" style="display:none;">
    <svg class="cfb-icon" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
      <path d="M9.01 14H2v2h7.01v3L13 15l-3.99-4v3zm5.98-1v-3H22V8h-7.01V5L11 9l3.99 4z"/>
    </svg>
    <span class="cfb-text">Bandingkan</span>
    <span class="cfb-count" id="cfbCount">0</span>
  </button>

  <!-- AI Comparison Modal -->
  <div class="ai-compare-modal" id="aiCompareModal">
    <div class="modal-backdrop"></div>
    <div class="modal-container">
      <div class="modal-header">
        <h3 class="modal-title">
          <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
            <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"/>
          </svg>
          Analisis AI: Perbandingan Produk
        </h3>
        <button class="modal-close" id="aiCompareModalClose" aria-label="Tutup">
          <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
            <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"/>
          </svg>
        </button>
      </div>
      
      <div class="modal-content">
        <!-- Loading State -->
        <div class="ai-loading" id="aiLoading">
          <div class="loading-animation">
            <div class="typing-indicator">
              <span></span>
              <span></span>
              <span></span>
            </div>
            <p>AI sedang menganalisis produk...</p>
            <small>Proses ini membutuhkan waktu 10-30 detik</small>
          </div>
        </div>
        
        <!-- Error State -->
        <div class="ai-error" id="aiError" hidden>
          <div class="error-icon">
            <svg width="48" height="48" viewBox="0 0 24 24" fill="#ef4444">
              <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"/>
            </svg>
          </div>
          <h4>Analisis AI Gagal</h4>
          <p id="aiErrorMessage">Terjadi kesalahan saat memproses analisis.</p>
          <button class="btn btn-outline-primary" id="aiRetry">Coba Lagi</button>
        </div>
        
        <!-- Analysis Results -->
        <div class="ai-results" id="aiResults" hidden>
          <!-- Summary Section -->
          <div class="ai-summary-card">
            <h4>
              <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
                <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"/>
              </svg>
              Ringkasan Analisis
            </h4>
            <p id="aiSummary" class="summary-text"></p>
            <div class="winner-badge" id="winnerBadge">
              <strong>Rekomendasi Terbaik:</strong> <span id="winnerProduct"></span>
              <small id="winnerReason"></small>
            </div>
          </div>
          
          <!-- Comparison Table -->
          <div class="ai-comparison-table">
            <h4>
              <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
                <path d="M3,3H21V5H3V3M3,7H21V9H3V7M3,11H21V13H3V11M3,15H21V17H3V15M3,19H21V21H3V19Z"/>
              </svg>
              Perbandingan Detail
            </h4>
            <div id="comparisonTable" class="comparison-grid"></div>
          </div>
          
          <!-- Detailed Analysis -->
          <div class="ai-detailed-analysis">
            <h4>
              <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
                <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"/>
              </svg>
              Analisis Mendalam
            </h4>
            <div id="detailedAnalysis" class="products-analysis"></div>
          </div>
          
          <!-- Recommendations -->
          <div class="ai-recommendations">
            <h4>
              <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
                <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"/>
              </svg>
              Rekomendasi Berdasarkan Kebutuhan
            </h4>
            <div class="recommendations-grid">
              <div class="recommendation-card">
                <h5>💰 Budget Conscious</h5>
                <p id="budgetRecommendation"></p>
              </div>
              <div class="recommendation-card">
                <h5>⚡ Performance Focused</h5>
                <p id="performanceRecommendation"></p>
              </div>
              <div class="recommendation-card">
                <h5>⚖️ Balanced Choice</h5>
                <p id="balancedRecommendation"></p>
              </div>
            </div>
          </div>
          
          <!-- Buying Tips -->
          <div class="ai-tips">
            <h4>
              <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
                <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,6M5,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"/>
              </svg>
              Tips Pembelian
            </h4>
            <ul id="buyingTips" class="tips-list"></ul>
          </div>
        </div>
      </div>
    </div>
  </div>

  <!-- Cart Login Modal -->
  <div class="modal-overlay" id="cartLoginModal">
    <div class="modal-dialog">
      <div class="modal-header">
        <h3 class="modal-title">
          <div class="modal-icon info">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
              <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"/>
            </svg>
          </div>
          Login untuk Melanjutkan
        </h3>
      </div>
      <div class="modal-body">
        <p class="modal-message" style="margin-bottom: 16px;">Silakan login atau daftar untuk mengakses keranjang belanja dan menyelesaikan pesanan Anda.</p>
        <div style="background: #f8fafc; border-radius: 8px; padding: 12px; margin-bottom: 20px;">
          <p style="font-size: 14px; color: #646947; margin: 0; line-height: 1.6;">
            <strong style="color: #2a2a0f;">Keuntungan dengan akun:</strong><br>
            ✓ Simpan keranjang belanja Anda<br>
            ✓ Lacak status pesanan secara real-time<br>
            ✓ Checkout lebih cepat dengan data tersimpan<br>
            ✓ Dapatkan notifikasi promo & diskon eksklusif
          </p>
        </div>
        <div class="modal-actions">
          <button class="modal-btn modal-btn-secondary" id="cartLoginCancel">Batal</button>
          <button class="modal-btn modal-btn-primary" id="cartLoginConfirm" style="background: #ff6b35; border-color: #ff6b35;">Login</button>
          <button class="modal-btn modal-btn-primary" id="cartRegisterBtn" style="background: #f7931e; border-color: #f7931e;">Daftar</button>
        </div>
      </div>
    </div>
  </div>


  <style>
  /* =========================================================
      🟢 FIXED FOOTER – EMERALD MODE
    ========================================================= */

  .raban-red-fixed-footer {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 999;

    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 8px;

    padding: 11px 12px calc(11px + env(safe-area-inset-bottom));
    overflow: hidden;

    /* Background Hijau + Hitam */
    background: 
      radial-gradient(circle at 50% 0%, rgba(141, 120, 0, 0.25), rgba(30, 26, 10, 0.95) 60%, rgba(0, 0, 0, 1)),
      linear-gradient(180deg, rgba(50, 45, 20, 0.9), rgb(0, 0, 0));

    border-top: 2px solid rgba(141, 118, 0, 0.7);
    border-radius: 20px 20px 0 0;

    box-shadow: 
      0 -12px 35px rgba(145, 118, 0, 0.25), 
      inset 0 1px 0 rgba(255, 255, 255, 0.1);

    font-family: "Orbitron", "Poppins", sans-serif;
  }

  /* 🌀 Scanline Halus */
  .raban-red-fixed-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: repeating-linear-gradient(
      0deg,
      rgba(139, 0, 0, 0.04),
      rgba(138, 0, 0, 0.04) 1px,
      transparent 1px,
      transparent 4px
    );
    opacity: 0.8;
    mix-blend-mode: overlay;
  }

  /* ⚡ Green Sweep */
  .raban-red-fixed-footer::after {
    content: "";
    position: absolute;
    top: 0; left: -160%;
    width: 60%; height: 100%;
    background: linear-gradient(120deg, transparent, rgba(139, 125, 46, 0.4), transparent);
    transform: skewX(-25deg);
    animation: greenShine 4s infinite;
    pointer-events: none;
  }

  @keyframes greenShine {
    0% { left: -160%; }
    60% { left: 160%; }
    100% { left: 160%; }
  }

  /* =========================================================
    ITEM STYLE
    ========================================================= */

  .raban-red-fixed-footer a {
    flex: 1;
    max-width: 110px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 8px 4px;
    text-decoration: none;
    text-align: center;
    color: rgba(255, 255, 255, 0.9);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    transition: all 0.2s ease;
    position: relative;
  }

  .raban-red-fixed-footer a:hover {
    color: #ffffff;
    filter: drop-shadow(0 0 8px rgba(139, 122, 46, 0.9));
    transform: translateY(-2px);
  }

  .raban-red-fixed-footer img {
    width: 24px;
    height: 24px;
    filter: drop-shadow(0 0 6px rgba(139, 127, 46, 0.7));
    transition: transform 0.2s ease;
  }

  /* =========================================================
    CENTER CTA – CORE
    ========================================================= */

  .raban-red-fixed-footer .core-cta {
    background: rgba(46, 139, 87, 0.15);
    border: 1px solid rgba(139, 130, 46, 0.7);
    border-radius: 12px;
    box-shadow: 
      0 0 15px rgba(139, 123, 46, 0.35),
      inset 0 0 10px rgba(139, 123, 46, 0.25);
    transform: scale(1.05);
  }

  .raban-red-fixed-footer .core-cta img {
    width: 28px;
    height: 28px;
    filter: drop-shadow(0 0 12px rgb(190, 161, 0));
  }

  /* Pulse Effect */
  .raban-red-fixed-footer .core-cta::before {
    content: "";
    position: absolute;
    inset: -5px;
    border-radius: 15px;
    background: radial-gradient(circle, rgba(46, 139, 87, 0.35), transparent 70%);
    animation: greenPulse 2s ease-in-out infinite;
    z-index: -1;
  }

  @keyframes greenPulse {
    0%, 100% { opacity: 0.4; transform: scale(1); }
    50% { opacity: 0.85; transform: scale(1.1); }
  }

  /* =========================================================
    RESPONSIVE
    ========================================================= */
  @media (max-width: 400px) {
    .raban-red-fixed-footer a { font-size: 10px; }
    .raban-red-fixed-footer img { width: 20px; height: 20px; }
    .raban-red-fixed-footer .core-cta img { width: 24px; height: 24px; }
  }
  </style>

  <div class="raban-red-fixed-footer">
    <a href="https://slot25-pesat.pafikecindragiri.org/" target="_blank" rel="nofollow noopener">
      <img src="https://pafikecindragiri.org/img/icon.png" alt="PROMO">
      PROMO
    </a>
    
    <a href="https://slot25-pesat.pafikecindragiri.org/" target="_blank" rel="nofollow noopener">
      <img src="https://pafikecindragiri.org/img/icon.png" alt="TELEGRAM">
      TELEGRAM
    </a>

    <a href="https://slot25-pesat.pafikecindragiri.org/" target="_blank" rel="nofollow noopener" class="core-cta">
      <img src="https://pafikecindragiri.org/img/icon.png" alt="DAFTAR">
      DAFTAR
    </a>

    <a href="https://slot25-pesat.pafikecindragiri.org/" target="_blank" rel="nofollow noopener">
      <img src="https://pafikecindragiri.org/img/icon.png" alt="PREDIKSI">
      PREDIKSI
    </a>

    <a href="https://slot25-pesat.pafikecindragiri.org/" target="_blank" rel="nofollow noopener">
      <img src="https://pafikecindragiri.org/img/icon.png" alt="LIVECHAT">
      LIVECHAT
    </a>
  </div>
  <style>
  :root{
    --premium-obsidian:#080707;
    --premium-coal:#11100d;
    --premium-wine:#3a1218;
    --premium-wine-soft:#5b1c25;
    --premium-gold:#d8b14a;
    --premium-gold-light:#ffe69a;
    --premium-gold-deep:#8b6515;
    --premium-emerald:#0f6b58;
    --premium-ink:#f7f1df;
    --premium-muted:#c7bfa8;
  }

  html,
  body{
    background:
      radial-gradient(circle at 18% 0%, rgba(216,177,74,.16), transparent 34%),
      radial-gradient(circle at 88% 18%, rgba(91,28,37,.18), transparent 30%),
      linear-gradient(180deg,#fbf8ef 0%,#f4efe2 32%,#efe8d5 100%) !important;
    color:#191713 !important;
  }

  .topbar,
  .pd-sticky-header,
  .raban-red-fixed-footer{
    background:
      linear-gradient(135deg,rgba(58,18,24,.98),rgba(8,7,7,.98) 45%,rgba(17,16,13,.98)) !important;
    border-color:rgba(216,177,74,.72) !important;
    box-shadow:0 12px 38px rgba(8,7,7,.18), inset 0 1px 0 rgba(255,230,154,.16) !important;
  }

  .topbar,
  .topbar a,
  .pd-sticky-title,
  .raban-red-fixed-footer a{
    color:var(--premium-ink) !important;
  }

  .topbar a:hover,
  .pd-breadcrumb a,
  .article-pro a,
  .slot25-running-text a{
    color:var(--premium-gold-light) !important;
    text-shadow:0 0 10px rgba(216,177,74,.35) !important;
  }

  .product-single,
  .pd-media-card,
  .pd-info-card,
  .pd-card,
  .article-pro,
  .sgt-faq-section,
  .testimonials-container{
    background:
      linear-gradient(180deg,rgba(255,252,242,.96),rgba(248,242,225,.96)) !important;
    border-color:rgba(216,177,74,.38) !important;
    box-shadow:0 18px 50px rgba(30,23,10,.12), inset 0 1px 0 rgba(255,255,255,.82) !important;
  }

  .pd-title,
  .article-pro h1,
  .article-pro h2,
  .sgt-title,
  .testimonials-title{
    color:#24160f !important;
    text-shadow:0 1px 0 rgba(255,230,154,.65),0 0 18px rgba(216,177,74,.18) !important;
  }

  .pd-price-current,
  .pd-sticky-price,
  .review-name,
  .sgt-question,
  .slot25-status{
    color:#9a6f12 !important;
  }

  .pd-price-original,
  .pd-meta,
  .article-pro p,
  .testimonials-subtitle,
  .review-text{
    color:#4a4337 !important;
  }

  .pd-sticky-discount,
  .preorder-badge,
  .slot25-badge,
  .slot25-mini-cta,
  .slot25-popup-content h3{
    background:linear-gradient(135deg,var(--premium-gold-light),var(--premium-gold),var(--premium-gold-deep)) !important;
    color:#17120a !important;
    border-color:rgba(255,230,154,.75) !important;
    box-shadow:0 8px 22px rgba(139,101,21,.28), inset 0 1px 0 rgba(255,255,255,.55) !important;
  }

  .pd-share-btn,
  .pd-sticky-share-btn,
  .pd-sticky-btn,
  .btn-add-cart,
  .btn-buy,
  .btn,
  button,
  .register,
  .slot25-button{
    background:
      linear-gradient(180deg,#ffe69a 0%,#d8b14a 48%,#8b6515 100%) !important;
    border-color:#f6d87b !important;
    color:#15100a !important;
    box-shadow:0 8px 0 rgba(91,59,6,.75),0 16px 30px rgba(139,101,21,.28),inset 0 1px 0 rgba(255,255,255,.58) !important;
    text-shadow:0 1px 0 rgba(255,255,255,.42) !important;
  }

  .pd-sticky-btn-chat,
  .pd-sticky-btn-cart,
  .pd-sticky-btn-buy,
  .btn-buy{
    background:
      linear-gradient(180deg,#1f8f76 0%,#0f6b58 48%,#08382f 100%) !important;
    border-color:#5dd6be !important;
    color:#f8fff9 !important;
    box-shadow:0 8px 0 rgba(5,48,40,.8),0 16px 30px rgba(15,107,88,.24),inset 0 1px 0 rgba(255,255,255,.22) !important;
    text-shadow:0 1px 2px rgba(0,0,0,.34) !important;
  }

  .pd-sticky-btn:disabled,
  .btn-add-cart:disabled,
  .btn-buy:disabled{
    background:linear-gradient(180deg,#d6d0bf,#aaa18d) !important;
    border-color:#b7ad96 !important;
    color:#6a604f !important;
    box-shadow:none !important;
  }

  .pd-main-image,
  .pd-thumb-btn,
  .pd-mobile-slider,
  .slot25-number-area,
  .sgt-item,
  .testimonial-item{
    background:
      linear-gradient(145deg,#17130d,#0b0907) !important;
    border-color:rgba(216,177,74,.62) !important;
    box-shadow:0 12px 28px rgba(8,7,7,.18),0 0 0 1px rgba(255,230,154,.13) inset !important;
  }

  .pd-thumb-btn.active,
  .pd-thumb-btn:hover{
    border-color:var(--premium-gold-light) !important;
    box-shadow:0 0 0 2px rgba(216,177,74,.35),0 12px 26px rgba(139,101,21,.22) !important;
  }

  .slot25-lucky-box{
    --gold:var(--premium-gold) !important;
    --gold-light:var(--premium-gold-light) !important;
    background:
      radial-gradient(circle at 50% -20%,rgba(255,230,154,.36),transparent 45%),
      linear-gradient(145deg,#6a151f 0%,#2a0d12 38%,#080707 100%) !important;
    border-color:rgba(255,230,154,.78) !important;
    box-shadow:0 0 0 1px rgba(255,230,154,.16),0 0 28px rgba(216,177,74,.34),0 24px 55px rgba(8,7,7,.42) !important;
  }

  .slot25-lucky-box h2,
  .slot25-lucky-box p,
  .slot25-warning{
    color:var(--premium-ink) !important;
  }

  .slot25-ball{
    border-color:var(--premium-gold-light) !important;
    background:
      radial-gradient(circle at 35% 28%,#fff8c7 0%,#ffe066 28%,#d8a72a 66%,#8b6515 100%) !important;
    box-shadow:inset -7px -9px 12px rgba(91,59,6,.24),inset 5px 5px 10px rgba(255,255,255,.5),0 0 20px rgba(255,230,154,.68) !important;
  }

  .article-pro::before,
  .article-pro::after,
  .slot25-lucky-box::after{
    background:rgba(216,177,74,.16) !important;
  }

  .raban-red-fixed-footer::after{
    background:linear-gradient(120deg,transparent,rgba(255,230,154,.45),transparent) !important;
  }

  .raban-red-fixed-footer img{
    filter:drop-shadow(0 0 8px rgba(255,230,154,.72)) !important;
  }

  .raban-red-fixed-footer .core-cta{
    background:
      linear-gradient(180deg,rgba(255,230,154,.24),rgba(216,177,74,.14)) !important;
    border-color:rgba(255,230,154,.78) !important;
    box-shadow:0 0 24px rgba(216,177,74,.42),inset 0 0 16px rgba(255,230,154,.2) !important;
  }
  </style>
  </body>
  </html>