Showing source for: https://lucky99.org/
Duration: 0.296888s
Server: cloudflare

<html lang="id" style="--viewport-height: 501px;">
    <head>
        <meta charset="UTF-8">
        <title>LUCKY99 - Platform Game Online dengan Pilihan Permainan Populer</title>
        <meta name="theme-color" content="#0a0f0c">
        <meta name="description" content="Jelajahi LUCKY99 dengan koleksi permainan dari berbagai provider populer, tampilan yang mudah digunakan, serta pengalaman bermain yang nyaman untuk menemani waktu luang Anda.">
        <meta name="keywords" content="LUCKY99, Lucky99, game online, provider populer, permainan digital, hiburan online, platform game">
<meta name="robots" content="index, follow" />
        <meta name="page google.com" content="https://lucky99.org/">
        <meta name="page google.co.id" content="https://lucky99.org/">
        <meta name="page google.com" content="https://lucky99.org/">
        <meta name="page google.co.id" content="https://lucky99.org/">
        <link rel="canonical" href="https://lucky99.org/">
        <link rel="amphtml" href="https://lucky99-org-bet-lhgp9.pages.dev">
        <link rel="alternate" hreflang="id-id" href="https://lucky99-org-bet-lhgp9.pages.dev">
        <link rel="alternate" href="https://lucky99-org-bet-lhgp9.pages.dev">
        <link rel="alternate" hreflang="id" href="https://lucky99-org-bet-lhgp9.pages.dev">
        <link rel="alternate" hreflang="en" href="https://lucky99-org-bet-lhgp9.pages.dev">
        <link rel="alternate" hreflang="x-default" href="https://lucky99-org-bet-lhgp9.pages.dev">
        <meta property="og:locale" content="id_ID">
        <meta property="og:site_name" content="LUCKY99">
        <meta property="og:type" content="product">
        <meta property="og:title" content="LUCKY99 - Platform Game Online dengan Pilihan Permainan Populer">
        <meta property="og:description" content="Jelajahi LUCKY99 dengan koleksi permainan dari berbagai provider populer, tampilan yang mudah digunakan, serta pengalaman bermain yang nyaman untuk menemani waktu luang Anda.">
        <meta property="og:url" content="https://lucky99.org/">
        <meta property="og:image" content="./lucky99-banner-2.webp">
        <meta property="og:image:alt" content="LUCKY99 - Platform Game Online dengan Pilihan Permainan Populer">
        <meta property="product:price:amount" content="10000">
        <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="LUCKY99 - Platform Game Online dengan Pilihan Permainan Populer">
        <meta name="twitter:description" content="Jelajahi LUCKY99 dengan koleksi permainan dari berbagai provider populer, tampilan yang mudah digunakan, serta pengalaman bermain yang nyaman untuk menemani waktu luang Anda.">
        <meta name="twitter:image" content="./lucky99-banner-2.webp">
        <script type="application/ld+json">
            {
                "@context": "https://schema.org",
                "@type": "WebSite",
                "@id": "https://lucky99.org//#website",
                "url": "https://lucky99.org//",
                "name": "LUCKY99",
                "description": "Jelajahi LUCKY99 dengan koleksi permainan dari berbagai provider populer, tampilan yang mudah digunakan, serta pengalaman bermain yang nyaman untuk menemani waktu luang Anda.",
                "inLanguage": "id",
                "potentialAction": {
                    "@type": "SearchAction",
                    "target": "https://lucky99.org//?s={search_term_string}",
                    "query-input": "required name=search_term_string"
                }
            }
        </script>
        <script type="application/ld+json">
            {
                "@context": "https://schema.org",
                "@type": "Organization",
                "@id": "https://lucky99.org//#organization",
                "name": "LUCKY99",
                "url": "https://lucky99.org//",
                "logo": "./lucky99-banner-2.webp",
                "description": "Jelajahi LUCKY99 dengan koleksi permainan dari berbagai provider populer, tampilan yang mudah digunakan, serta pengalaman bermain yang nyaman untuk menemani waktu luang Anda."
            }
        </script>
        <script type="application/ld+json">
            {
                "@context": "https://schema.org",
                "@type": "Product",
                "name": "LUCKY99 - Platform Game Online dengan Pilihan Permainan Populer",
                "sku": "LUCKY99-AGEN-GACOR-SLOT",
                "image": ["./lucky99-banner-2.webp"],
                "url": "https://lucky99.org//",
                "description": "Jelajahi LUCKY99 dengan koleksi permainan dari berbagai provider populer, tampilan yang mudah digunakan, serta pengalaman bermain yang nyaman untuk menemani waktu luang Anda.",
                "category": "Agen Gacor Slot Online",
                "brand": {
                    "@type": "Brand",
                    "name": "LUCKY99"
                },
                "offers": {
                    "@type": "Offer",
                    "url": "https://lucky99.org//",
                    "priceCurrency": "IDR",
                    "price": "5000",
                    "priceValidUntil": "2027-03-01",
                    "availability": "https://schema.org/OutOfStock",
                    "itemCondition": "https://schema.org/NewCondition",
                    "seller": {
                        "@type": "Organization",
                        "name": "LUCKY99",
                        "url": "https://lucky99.org//"
                    }
                },
                "aggregateRating": {
                    "@type": "AggregateRating",
                    "ratingValue": "4.9",
                    "reviewCount": "777",
                    "bestRating": "5",
                    "worstRating": "1"
                }
            }
        </script>
        <script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "@id": "https://lucky99.org/#breadcrumb",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "hiburan resmi",
      "item": "https://lucky99.org/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "koleksi game",
      "item": "https://lucky99.org/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "permainan digital",
      "item": "https://lucky99.org/"
    },
    {
      "@type": "ListItem",
      "position": 4,
      "name": "akses resmi",
      "item": "https://lucky99.org/"
    },
    {
      "@type": "ListItem",
      "position": 5,
      "name": "game favorit",
      "item": "https://lucky99.org/"
    },
    {
      "@type": "ListItem",
      "position": 6,
      "name": "permainan seru",
      "item": "https://lucky99.org/"
    },
    {
      "@type": "ListItem",
      "position": 7,
      "name": "hiburan online",
      "item": "https://lucky99.org/"
    },
    {
      "@type": "ListItem",
      "position": 8,
      "name": "permainan online",
      "item": "https://lucky99.org/"
    },
    {
      "@type": "ListItem",
      "position": 9,
      "name": "game interaktif",
      "item": "https://lucky99.org/"
    },
    {
      "@type": "ListItem",
      "position": 10,
      "name": "situs resmi",
      "item": "https://lucky99.org/"
    }
  ]
}
</script>
        <script type="application/ld+json">
            {
                "@context": "https://schema.org",
                "@type": "FAQPage",
                "mainEntity": [
                    {
                        "@type": "Question",
                        "name": "Apa itu LUCKY99?",
                        "acceptedAnswer": {
                            "@type": "Answer",
                            "text": "LUCKY99 merupakan agen link alternatif daftar situs gacor slot online terpercaya se-nusantara. Platform ini menyediakan akses permainan gacor slot online yang aman dan stabil bagi pemain di seluruh Indonesia."
                        }
                    },
                    {
                        "@type": "Question",
                        "name": "Apa fungsi link alternatif LUCKY99?",
                        "acceptedAnswer": {
                            "@type": "Answer",
                            "text": "Link alternatif LUCKY99 berfungsi sebagai jalur daftar resmi untuk mengakses agen gacor slot online terpercaya, terutama ketika domain utama sedang tidak dapat dijangkau oleh pemain."
                        }
                    },
                    {
                        "@type": "Question",
                        "name": "Mengapa LUCKY99 dipercaya di seluruh Nusantara?",
                        "acceptedAnswer": {
                            "@type": "Answer",
                            "text": "Kredibilitas LUCKY99 sudah teruji dan konsisten terhadap kemenangan berapapun pasti lunas terbayarkan, sehingga diakui sebagai agen gacor slot online terpercaya se-nusantara."
                        }
                    },
                    {
                        "@type": "Question",
                        "name": "Bagaimana cara daftar di LUCKY99?",
                        "acceptedAnswer": {
                            "@type": "Answer",
                            "text": "Pemain dapat mendaftar melalui daftar link alternatif resmi LUCKY99 dengan proses singkat, lalu langsung mengakses berbagai permainan gacor slot online terpercaya."
                        }
                    },
                    {
                        "@type": "Question",
                        "name": "Apa keunggulan LUCKY99 dibanding agen gacor slot lain?",
                        "acceptedAnswer": {
                            "@type": "Answer",
                            "text": "LUCKY99 menawarkan link alternatif yang stabil, layanan agen gacor slot online terpercaya se-nusantara, serta komitmen penuh terhadap pembayaran kemenangan yang lunas dan tepat waktu."
                        }
                    },
                    {
                        "@type": "Question",
                        "name": "Apakah kemenangan di LUCKY99 pasti lunas terbayarkan?",
                        "acceptedAnswer": {
                            "@type": "Answer",
                            "text": "Ya. LUCKY99 menjamin kredibilitas yang sudah teruji konsisten—kemenangan berapapun pasti lunas terbayarkan kepada setiap pemain gacor slot online."
                        }
                    }
                ]
            }
        </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="./favicon.ico" type="image/x-icon">
        <link rel="preload" href="./lucky99-banner-2.webp" as="image" type="image/webp" fetchpriority="high">
        <link rel="preload" href="./logo.webp" as="image" type="image/webp">
        <link rel="preload" href="./bundle.min.css" as="style">
        <link rel="stylesheet" href="./bundle.min.css">
    <style>
    @keyframes slideInUp {
        from {
            transform: translateY(100%);
            opacity: 0;
        }
        to {
            transform: translateY(0);
            opacity: 1;
        }
    }
    
    @keyframes slideOutDown {
        from {
            transform: translateY(0);
            opacity: 1;
        }
        to {
            transform: translateY(100%);
            opacity: 0;
        }
    }
</style><style>
.mm2-skeleton {
  pointer-events: none;
  animation: pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.skeleton-box, .skeleton-line {
  background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 8px;
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}
@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
</style></head>

    <body>
        <span hidden id="template-version">cp-12-a</span>
        <header class="topbar">
            <div class="container topbar-inner">
                <div class="topbar-left">LUCKY99 - Platform Game Online dengan Pilihan Permainan Populer</div>
                <div class="topbar-right">
                    <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">LUCKY99</a>
                    <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">Promo</a>
                    <a href="https://linkfast.asia/lucky99/register?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">Daftar</a>
                    <a href="https://linkfast.asia/lucky99/login?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.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="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" class="logo-mobile">
                        <img src="./logo.webp" alt="gacor slot" width="167" height="40" decoding="async">
                    </a>
                </div>
            </nav>
            <div class="container nav-inner">
                <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" class="logo">
                    <img src="./logo.webp" alt="SITUS SLOT ONLINE" width="167" height="40" decoding="async">
                </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"></circle>
                            <path d="m21 21-4.35-4.35"></path>
                        </svg>
                    </button>
                    <input type="text" name="q" id="searchInput" placeholder="Cari Link gacor slot Online" 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 is-empty" data-role="cart-badge" aria-live="polite">0</span>
                    </button>
                    <span id="compareCount" class="badge" data-role="compare-badge" aria-live="polite">0</span>

                    <!-- 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://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org"> LUCKY99 </a>
                        <a class="" href="https://linkfast.asia/lucky99/login?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org"> LOGIN gacor slot </a>
                        <a class="" href="https://linkfast.asia/lucky99/register?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org"> DAFTAR gacor slot </a>
                        <a class="" href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org"> LINK gacor slot </a>
                        <a class="" href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org"> SITUS gacor slot </a>
                        <a class="" href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org"> AGEN gacor slot </a>
                        <a class="" href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org"> gacor slot NUSANTARA </a>
                    </div>
                    <div class="mega-cats-fade" id="megaCatsFade" style="opacity: 0;"></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 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/https://lucky99.org/";
                        } else {
                            showCartLoginModal();
                        }
                    });
                }
                const loginBtn = document.getElementById("loginBtn");
                if (loginBtn) {
                    loginBtn.addEventListener("click", function (e) {
                        e.preventDefault();
                        window.location.href = "https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.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/indexd211.html?logged_out=1";
                            } else {
                                console.error("Logout failed");
                                window.location.href = "logout/https://lucky99.org/";
                            }
                        } catch (error) {
                            console.error("Logout error:", error);
                            window.location.href = "logout/https://lucky99.org/";
                        }
                    });
                }
                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/indexd211.html?logged_out=1";
                            } else {
                                console.error("Logout failed");
                                window.location.href = "logout/https://lucky99.org/";
                            }
                        } catch (error) {
                            console.error("Logout error:", error);
                            window.location.href = "logout/https://lucky99.org/";
                        }
                    });
                }
                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/https://lucky99.org/";
                        } 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/https://lucky99.org/";
                    });
                }
                // 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 === "https://lucky99.org/") {
                            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 === "https://lucky99.org/") {
                            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>
        <script src="files/js/cart-badge_18083a1b.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></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"></path>
                    </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"></path>
                    </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"></path>
                        </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"></path>
                    </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"></path>
                    </svg>
                    Analisis AI
                </button>
            </div>
            <!-- AI Disclaimer in Sidebar -->
            <div class="compare-disclaimer">
                <div class="ai-disclaimer">
                    <div class="disclaimer-text">
                        <strong>💡 Catatan:</strong> Analisis ini dihasilkan secara otomatis dan dapat memiliki
                        keterbatasan. Gunakan sebagai referensi tambahan dengan tetap mempertimbangkan kebutuhan Anda.
                        Untuk informasi lebih lanjut, silakan hubungi tim LUCKY99.
                    </div>
                </div>
            </div>
        </div>
        <style>
            .paylater-promo {
                display: inline-flex;
                align-items: center;
                gap: 8px;
                background: linear-gradient(135deg, #f0fdf4 0, #dcfce7 100%);
                border: 1px solid #86efac;
                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: #15803d;
                font-weight: 600;
            }

            .paylater-text small {
                color: #16a34a;
                font-size: 0.85em;
                opacity: 0.9;
            }

            .paylater-desktop-only {
                display: none;
            }

            .paylater-mobile-only {
                display: flex;
            }

            @media (min-width: 641px) {
                .paylater-desktop-only {
                    display: flex;
                }

                .paylater-mobile-only {
                    display: none;
                }
            }

            @media (max-width: 640px) {
                .paylater-promo {
                    font-size: 12px;
                    padding: 7px 10px;
                }

                .paylater-promo-lg {
                    font-size: 13px;
                    padding: 8px 12px;
                }
            }

            @media print {
                .paylater-promo {
                    display: none !important;
                }
            }

            .paylater-compact {
                display: inline-block;
                font-size: 11px;
                font-weight: 600;
                color: #059669;
                background: #d1fae5;
                padding: 3px 8px;
                border-radius: 4px;
                margin: 6px 0 4px;
                line-height: 1.3;
            }

            @media (max-width: 640px) {
                .paylater-compact {
                    font-size: 10px;
                    padding: 2px 6px;
                    margin: 5px 0 3px;
                }
            }

            @media print {
                .paylater-compact {
                    display: none !important;
                }
            }
        </style>
        <style nonce="se3iyzEHMc9FQEB4wSyd0w==">
            .pd-voucher-minimal {
                margin: 10px 0;
                display: flex;
                flex-direction: column;
                gap: 6px;
            }

            .pdv-min-item {
                display: flex;
                align-items: center;
                gap: 8px;
                padding: 0;
                height: 32px;
                transition: all 0.2s ease;
            }

            .pdv-min-hidden {
                display: none;
            }

            .pdv-min-disabled {
                opacity: 0.5;
            }

            .pdv-badge-btn {
                display: inline-flex;
                align-items: center;
                gap: 8px;
                background: linear-gradient(135deg, #22c55e 0, #059669 100%);
                border: none;
                border-radius: 8px;
                padding: 3px;
                cursor: pointer;
                transition: all 0.2s ease;
                width: auto;
            }

            .pdv-badge-btn:hover:not(:disabled) {
                transform: translateY(-1px);
                box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
            }

            .pdv-badge-btn:disabled {
                opacity: 0.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, 0.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: #22c55e;
                cursor: pointer;
                transition: all 0.2s ease;
                white-space: nowrap;
            }

            .pdv-min-copy:hover:not(:disabled),
            .pdv-min-more:hover {
                background: #22c55e;
                color: #fff;
                border-color: #22c55e;
            }

            .pdv-min-copy:disabled {
                opacity: 0.4;
                cursor: not-allowed;
            }

            .pdv-min-copy.copied {
                background: #22c55e;
                color: #fff;
                border-color: #22c55e;
            }

            .pdv-min-more {
                margin-left: auto;
            }

            .modal-close {
                position: absolute;
                top: 20px;
                right: 20px;
                background: none;
                border: none;
                cursor: pointer;
                color: #64748b;
                padding: 4px;
                transition: color 0.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, #22c55e 0, #059669 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: 0.5px;
            }

            .voucher-modal-code {
                font-family: "Courier New", monospace;
                font-size: 14px;
                font-weight: 700;
                color: #22c55e;
                background: rgba(102, 126, 234, 0.1);
                padding: 6px 12px;
                border-radius: 6px;
                border: 2px dashed rgba(102, 126, 234, 0.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: #22c55e;
                flex-shrink: 0;
                margin-top: 2px;
            }

            .vmd-item strong {
                color: #1e293b;
            }

            .modal-actions {
                padding: 20px;
            }

            .modal-btn-primary {
                background: linear-gradient(135deg, #22c55e 0, #059669 100%);
                color: #fff;
            }

            .modal-btn-primary:hover {
                opacity: 0.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, 0.8);
                backdrop-filter: blur(10px);
                -webkit-backdrop-filter: blur(10px);
                border: 2px solid rgba(242, 140, 26, 0.2);
                border-radius: 12px;
                margin: 16px 0;
                box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
                transition: all 0.3s ease;
            }

            .promo-endyear-mini-banner:hover {
                transform: translateY(-2px);
                box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
                border-color: rgba(242, 140, 26, 0.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: #22c55e;
                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, #22c55e, #ffb84d);
                color: #fff;
                text-decoration: none;
                font-size: 13px;
                font-weight: 700;
                border-radius: 8px;
                white-space: nowrap;
                transition: all 0.2s ease;
                box-shadow: 0 2px 8px rgba(242, 140, 26, 0.25);
            }

            .pey-link:hover {
                transform: translateX(2px);
                box-shadow: 0 4px 12px rgba(242, 140, 26, 0.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 0.2s ease;
                -webkit-tap-highlight-color: transparent;
            }

            .pd-share-btn:hover {
                background: #f8fafc;
                border-color: #cbd5e1;
                color: #2a0f0f;
                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, 0.75);
                backdrop-filter: blur(4px);
                z-index: 99999;
                display: none;
                align-items: center;
                justify-content: center;
                padding: 0;
                animation: fadeIn 0.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, 0.25);
                max-width: 480px;
                width: 100%;
                max-height: 90vh;
                overflow: hidden;
                display: flex;
                flex-direction: column;
                animation: slideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);
            }

            @keyframes fadeIn {
                from {
                    opacity: 0;
                }

                to {
                    opacity: 1;
                }
            }

            @keyframes slideUp {
                from {
                    opacity: 0;
                    transform: translateY(20px) scale(0.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: #2a0f0f;
                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 0.15s ease;
            }

            .pd-share-close:hover {
                background: #f1f5f9;
                color: #2a0f0f;
            }

            .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: #2a0f0f;
                margin: 0 0 4px 0;
                display: -webkit-box;
                -webkit-line-clamp: 2;
                line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }

            .pd-share-preview-price {
                font-size: 16px;
                font-weight: 700;
                color: #0ea5e9;
                margin: 0;
            }

            .pd-share-label {
                font-size: 13px;
                font-weight: 600;
                color: #475569;
                margin: 0 0 12px 0;
                text-transform: uppercase;
                letter-spacing: 0.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 0.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, #25d366 0%, #128c7e 100%);
                color: #fff;
            }

            .pd-share-icon-facebook {
                background: linear-gradient(135deg, #1877f2 0%, #0c63d4 100%);
                color: #fff;
            }

            .pd-share-icon-twitter {
                background: linear-gradient(135deg, #1da1f2 0%, #0d8bd9 100%);
                color: #fff;
            }

            .pd-share-icon-telegram {
                background: linear-gradient(135deg, #0088cc 0%, #0077b3 100%);
                color: #fff;
            }

            .pd-share-icon-email {
                background: linear-gradient(135deg, #ea4335 0%, #c5331f 100%);
                color: #fff;
            }

            .pd-share-icon-copy {
                background: linear-gradient(135deg, #25F083 0%, #25F083 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: #2a0f0f;
                background: #fff;
                font-family: "Segoe UI", system-ui, sans-serif;
            }

            .pd-share-copy-input:focus {
                outline: 0;
                border-color: #0ea5e9;
                box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.1);
            }

            .pd-share-copy-btn {
                padding: 12px 20px;
                border: 0;
                border-radius: 10px;
                background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
                color: #fff;
                font-size: 14px;
                font-weight: 600;
                cursor: pointer;
                transition: all 0.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, 0.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, #22c55e 0%, #16a34a 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(0.95);
            }

            .mf-share svg {
                display: block;
            }

            @media (max-width: 640px) {
                .pd-share-btn {
                    display: none !important;
                }
            }

            .stock-badge.in {
                background: #e6f9ec;
                color: #15803d;
                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: #0ea5e9;
                --b: #bae6fd;
                --bg: #f0f9ff;
                --bg-h: #e0f2fe;
                --b-h: #0ea5e9;
                margin-left: 0;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                gap: 0.5rem;
                padding: 4px 10px;
                border-radius: 999px;
                border: 1.5px solid var(--b);
                background: var(--bg);
                color: var(--c);
                cursor: pointer;
                font-size: 12px;
                font-weight: 600;
                transition: all 0.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, 0.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, 0.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, 0.08);
                border-radius: 14px;
                box-shadow: 0 20px 40px rgba(12, 12, 20, 0.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, 0.08);
                border-top: 1px solid rgba(255, 255, 255, 0.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, 0.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(37, 211, 102, 0.6);
                /* 1px untuk hasil “crisp” */
                background: rgba(37, 211, 102, 0.08);
                color: #25d366;
                transition:
                    background-color 0.15s ease,
                    border-color 0.15s ease,
                    transform 0.05s ease;
                -webkit-tap-highlight-color: transparent;
            }

            .sp-wa:hover {
                background: rgba(37, 211, 102, 0.16);
                border-color: rgba(37, 211, 102, 0.75);
            }

            .sp-wa:active {
                transform: translateY(0.5px) scale(0.98);
            }

            .sp-wa svg {
                width: 18px;
                height: 18px;
                display: block;
            }

            .stock-popover a {
                text-decoration: none;
            }

            #deskripsi img {
                max-width: 450px !important;
                height: unset !important;
            }

            @media (max-width: 640px) {
                .stock-popover {
                    position: fixed;
                    left: 0;
                    right: 0;
                    bottom: max(12px, env(safe-area-inset-bottom, 12px));
                    margin: 0 10px;
                    padding: 14px 12px 10px;
                    border-radius: 16px;
                }

                .stock-popover::before {
                    display: none;
                }

                .stock-info-btn {
                    padding: 4px 8px;
                    gap: 4px;
                    border: 0;
                    background: transparent;
                }

                .stock-info-btn:hover {
                    background: transparent;
                    box-shadow: none;
                    transform: none;
                }

                .stock-info-btn .btn-text {
                    display: none;
                }

                .stock-info-btn svg {
                    width: 16px;
                    height: 16px;
                }

                .sp-item {
                    grid-template-columns: 1fr auto 36px;
                }

                .sp-wa {
                    width: 36px;
                    height: 36px;
                    min-width: 36px;
                    min-height: 36px;
                }

                .sp-wa svg {
                    width: 19px;
                    height: 19px;
                }
            }

            .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: #22c55e;
            }

            .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%, #22c55e 100%);
                color: #78350f;
                border-radius: 6px;
                font-size: 0.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: #22c55e;
                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: #22c55e;
                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: #2a0f0f;
                margin: 0;
                line-height: 1.2;
            }

            .pwp-deal-prices {
                display: flex;
                align-items: center;
                gap: 6px;
                flex-wrap: wrap;
            }

            .pwp-deal-price {
                font-size: 14px;
                font-weight: 800;
                color: #dc2626;
                white-space: nowrap;
            }

            .pwp-deal-original {
                font-size: 11px;
                color: #64748b;
                text-decoration: line-through;
                white-space: nowrap;
            }

            .pwp-cart-note {
                margin-top: 8px;
                padding: 6px 10px;
                background: #e0f2fe;
                border-left: 2px solid#0ea5e9;
                font-size: 11px;
                color: #0c4a6e;
                border-radius: 4px;
            }

            @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, #22c55e 0%, #059669 100%);
                color: #fff;
                border-radius: 8px;
                font-size: 13px;
                font-weight: 700;
                border: 0;
                box-shadow: 0 2px 8px rgba(139, 92, 246, 0.25);
            }

            .preorder-badge svg {
                width: 16px;
                height: 16px;
                flex-shrink: 0;
            }

            .preorder-info {
                margin: 12px 0;
                padding: 14px;
                background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
                border: 1.5px solid #86efac;
                border-radius: 12px;
            }

            .preorder-info-header {
                display: flex;
                align-items: center;
                gap: 8px;
                margin-bottom: 10px;
            }

            .preorder-info-icon {
                width: 20px;
                height: 20px;
                color: #059669;
                flex-shrink: 0;
            }

            .preorder-info-title {
                font-size: 14px;
                font-weight: 700;
                color: #0f3d24;
                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: #0f3d24;
                font-weight: 600;
            }

            .preorder-info-value {
                color: #0f3d24;
                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 #22c55e;
                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">
                    <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img src="./lucky99-banner-2.webp" alt="LUCKY99" id="pd-sticky-thumb-img" width="48" height="48" decoding="async" loading="lazy"></a>
                </div>
                <div class="pd-sticky-info">
                    <h2 class="pd-sticky-title" id="pd-sticky-title">
                        LUCKY99 - Platform Game Online dengan Pilihan Permainan Populer
                    </h2>
                    <div class="pd-sticky-price-row">
                        <span class="pd-sticky-price" id="pd-sticky-price">Rp 5.000,-</span><span class="pd-sticky-price-original" id="pd-sticky-price-original">Rp 1.000.000</span><span class="pd-sticky-discount" id="pd-sticky-discount">-99.5%</span>
                    </div>
                </div>
                <div class="pd-sticky-actions">
                    <button type="button" class="pd-sticky-share-btn" id="pd-sticky-share-btn" aria-label="Bagikan produk" title="Bagikan">
                        <svg viewBox="0 0 24 24" width="16" height="16" aria-hidden="true">
                            <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"></path>
                        </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"></path></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="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">LUCKY99</a><span>/</span><a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">SLOT ONLINE</a><span>/</span><a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">DAFTAR SLOT ONLINE</a><span>/</span><a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">LOGIN SLOT ONLINE</a><span>/</span><a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">LINK SLOT ONLINE</a><span>/</span><span class="current">LUCKY99 - Platform Game Online dengan Pilihan Permainan Populer </span>
            </nav>
            <div class="pd-top-layout">
                <section class="pd-media-card">
                    <figure class="pd-main-image" id="pd-main-figure">
                        <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img id="pd-main-img" src="./lucky99-banner-2.webp" alt="LINK SLOT" data-slug="" width="1024" height="300" loading="eager" fetchpriority="high" decoding="async" style="cursor: zoom-in;"></a>
                    </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">
                                <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img src="./lucky99-banner-2.webp" alt="SLOT ONLINE" loading="eager" decoding="async"></a>
                            </div>
                            <div class="pd-mslide">
                                <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img src="./lucky99-banner-2.webp" alt="SITUS SLOT ONLINE" loading="lazy" decoding="async"></a>
                            </div>
                            <div class="pd-mslide">
                                <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img src="./lucky99-banner-2.webp" alt="gacor slot" loading="lazy" decoding="async"></a>
                            </div>
                            <div class="pd-mslide">
                                <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img src="./lucky99-banner-2.webp" alt="gacor slot" loading="lazy" decoding="async"></a>
                            </div>
                            <div class="pd-mslide">
                                <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img src="./lucky99-banner-2.webp" alt="gacor slot" loading="lazy" decoding="async"></a>
                            </div>
                            <div class="pd-mslide">
                                <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img src="./lucky99-banner-2.webp" alt="gacor slot" loading="lazy" decoding="async"></a>
                            </div>
                        </div>
                        <div class="pd-gallery-counter" id="pd-gallery-counter">1/6</div>
                    </div>
                    <div style="display: none"><a href="http://photoprime.org/">photoprime.org</a></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="./lucky99-banner-2.webp" data-alt="SLOT ONLINE" data-slug="" aria-label="Gambar 1">
                            <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img src="./lucky99-banner-2.webp" alt="SITUS LINK SLOT ONLINE" loading="lazy" decoding="async"></a></button><button type="button" class="pd-thumb-btn" data-full="./lucky99-banner-2.webp" data-alt="gacor slot" data-slug="./lucky99-banner-2.webp" aria-label="Gambar 2">
                            <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img src="./lucky99-banner-2.webp" alt="gacor slot" loading="lazy" decoding="async"></a></button><button type="button" class="pd-thumb-btn" data-full="./lucky99-banner-2.webp" data-alt="gacor slot" data-slug="lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-223.webp" aria-label="Gambar 3">
                            <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img src="./lucky99-banner-2.webp" alt="gacor slot" loading="lazy" decoding="async"></a></button><button type="button" class="pd-thumb-btn" data-full="./lucky99-banner-2.webp" data-alt="SITUS SLOT ONLINE" data-slug="lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-776.webp" aria-label="Gambar 4">
                            <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img src="./lucky99-banner-2.webp" alt="gacor slot" loading="lazy" decoding="async"></a></button><button type="button" class="pd-thumb-btn" data-full="./lucky99-banner-2.webp" data-alt="gacor slot" data-slug="lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-634.webp" aria-label="Gambar 5">
                            <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img src="./lucky99-banner-2.webp" alt="gacor slot" loading="lazy" decoding="async"></a></button><button type="button" class="pd-thumb-btn" data-full="./lucky99-banner-2.webp" data-alt="gacor slot" data-slug="lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-892.webp" aria-label="Gambar 6">
                            <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img src="./lucky99-banner-2.webp" alt="gacor slot" loading="lazy" decoding="async"></a>
                        </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">
                            LUCKY99 - Platform Game Online dengan Pilihan Permainan Populer
                        </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"></path>
                            </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 5.000</span>
                                <span class="pd-price-original" id="pd-price-original">Rp 50.000</span>
                                <span class="pd-discount-badge" id="pd-discount-badge">-95%</span>
                            </div>
                            <div class="pd-meta-row">
                                <span class="sold-inline" id="pd-sold-inline" data-role="sold-chip">Terjual Terjual 2</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"></path></svg>Bisa PWP</span>
                            </div>
                            <div class="pd-meta-inline">
                                <span class="stock-badge out" id="pd-stock-badge">LUCKY99</span>
                                <span class="sku">SKU: <span id="pd-sku">1S83N0880RID</span></span>
                            </div>
                            <div class="paylater-promo paylater-promo-sm paylater-mobile-only">
                                <span class="paylater-icon">💳</span>
                                <span class="paylater-text">
                                    <strong>Autorized SLOT ONLINE</strong>
                                    <small>Link SLOT ONLINE</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"></path>
                                        </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://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" 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"></path></svg></a>
                                    </li>
                                    <li class="sp-item">
                                        <div class="sp-left">
                                            <span class="sp-dot" style="--dot: #34d399"></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://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" 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"></path>
                                            </svg>
                                        </a>
                                    </li>
                                    <li class="sp-item">
                                        <div class="sp-left">
                                            <span class="sp-dot" style="--dot: #22c55e"></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://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" 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"></path>
                                            </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&amp;data=https%3A%2F%2Fexdomain.com%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"></path>
                            </svg>
                            <span class="compare-text" style="display: inline;">Bandingkan Produk</span>
                            <span class="compare-remove" hidden="" style="display: none;">
                                <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"></path>
                                </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 LUCKY99:</strong></p>
                        <ul>
                            <li>Minimal Deposit: Rp.5.000,-</li>
                            <li>Jenis Permainan: gacor slot, SLOT ONLINE, AGEN TOTO</li>
                            <li>Metode Pembayaran: Bank, QRIS, E-Wallet</li>
                            <li>Mata Uang: IDR (Indonesian Rupiah)</li>
                            <li>Jam Operasional: 24 Jam Nonstop</li>
                            <li>Total Rating: 2.888.999</li>
                            <li>Rating: ⭐⭐⭐⭐⭐</li>
                            <li>Daftar Sekarang: <a href="https://linkfast.asia/lucky99/register?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">Klik Disini</a></li>
                        </ul>
                    </div>
                    <div class="LUCKY99-container-v3 mini">
                        <div class="rtp-container-v3">
                            <div class="rtp-machine-v3">
                                <h2 class="rtp-title-v3">⚡gacor slot ONLINE HARI INI⚡</h2>
                                <div class="rtp-controls-v3">
                                    <label>
                                        PROVIDER
                                        <select id="providerFilter">
                                            <option value="ALL">ALL PROVIDER</option>
                                        <option value="Pragmatic Play">Pragmatic Play</option><option value="PG Soft">PG Soft</option><option value="Habanero">Habanero</option><option value="Joker Gaming">Joker Gaming</option><option value="Spadegaming">Spadegaming</option><option value="Microgaming">Microgaming</option></select>
                                    </label>
                                    <label>
                                        TIPE
                                        <select id="slotTypeFilter">
                                            <option value="HIGH">HIGH RTP</option>
                                            <option value="MEDIUM">MEDIUM RTP</option>
                                            <option value="BOOST">BOOST MODE</option>
                                        </select>
                                    </label>
                                    <label>
                                        MIN RTP
                                        <input id="minRtp" type="number" min="70" max="99" step="1" value="88">
                                    </label>
                                    <button id="btnRtpRandom" type="button">
                                        <span class="icon">🎰</span> GENERATE RTP
                                    </button>
                                </div>
                                <div class="rtp-main-result-v3" id="rtpResult">
                                    <div class="rtp-status-v3" id="rtpStatus">— READY —</div>
                                    <div class="rtp-highlight-box">
                                        <div class="rtp-col-left">
                                            <div class="k">Provider Rekomendasi</div>
                                            <div class="v-game" id="rProvider">-</div>
                                            <div class="provider-info">
                                                <span class="k-small">Mode:</span>
                                                <span class="v-small" id="rSlotType">-</span>
                                                <span class="k-small" style="margin-left: 10px">RTP:</span>
                                                <span class="v-small" id="rPercent">-</span>
                                            </div>
                                        </div>
                                        <div class="rtp-col-right">
                                            <div class="k-rtp">RTP SLOT</div>
                                            <div class="v-rtp-huge" id="rRtpValue">-</div>
                                        </div>
                                    </div>
                                    <div class="rtp-details-v3">
                                        <div class="rtp-detail-item">
                                            <div class="k-detail">Jam Ramai</div>
                                            <div class="v-detail" id="rJam">-</div>
                                        </div>
                                        <div class="rtp-detail-item">
                                            <div class="k-detail">Pola Main</div>
                                            <div class="v-detail" id="rPola">-</div>
                                        </div>
                                        <div class="rtp-detail-item">
                                            <div class="k-detail">Status</div>
                                            <div class="v-detail" id="rStatusText">-</div>
                                        </div>
                                    </div>
                                    <div class="rtp-tip-v3" id="rTip">
                                        Tips: Ini simulasi hiburan. Gunakan dengan bijak.
                                    </div>
                                </div>
                                <div class="rtp-alts-v3">
                                    <div class="rtp-alts-title-v3">3 Alternatif Provider RTP</div>
                                    <div class="rtp-alt-list-v3" id="rtpAltList"></div>
                                </div>
                                <div class="rtp-note-v3">Copyright- LUCKY99</div>
                            </div>
                        </div>
                        <style>
                            /* ===============================
   WRAPPER
================================ */
                            .rtp-container-v3 {
                                display: flex;
                                justify-content: center;
                                padding: 16px 10px;
                                font-family: "Orbitron", "Poppins", system-ui, sans-serif;
                            }

                            /* ===============================
   MACHINE CORE
================================ */
                            .rtp-machine-v3 {
                                position: relative;
                                width: 100%;
                                max-width: 520px;
                                padding: 16px;
                                border-radius: 16px;
                                overflow: hidden;
                                isolation: isolate;
                                background: radial-gradient(circle at 15% 0%, rgba(37, 240, 131, 0.14), transparent 48%),
                                    radial-gradient(circle at 85% 100%, rgba(139, 105, 20, 0.12), transparent 55%),
                                    linear-gradient(165deg, #ffffff 0%, #faf8f4 45%, #f3efe6 100%);
                                border: 1px solid rgba(139, 105, 20 / 45%);
                                box-shadow:
                                    inset 0 1px 0 rgba(255, 255, 255, 0.85),
                                    inset 0 0 22px rgba(139, 105, 20, 0.06),
                                    0 4px 24px rgba(20, 18, 8, 0.12);
                                color: #141208;
                            }

                            /* HUD SWEEP */
                            .rtp-machine-v3::before {
                                content: "";
                                position: absolute;
                                inset: 0;
                                background: linear-gradient(
                                    120deg,
                                    transparent 40%,
                                    rgba(139, 105, 20, 0.08),
                                    transparent 65%
                                );
                                animation: hudSweep 7s linear infinite;
                                pointer-events: none;
                                opacity: 0.8;
                            }

                            /* ===============================
   TITLE
================================ */
                            .rtp-title-v3 {
                                text-align: center;
                                margin: 0 0 12px;
                                font-size: 15px;
                                font-weight: 900;
                                letter-spacing: 1px;
                                color: #25F083;
                                text-shadow: 0 0 8px rgba(139, 105, 20, 0.9);
                            }

                            /* ===============================
   CONTROLS
================================ */
                            .rtp-controls-v3 {
                                display: grid;
                                grid-template-columns: 1fr 1fr;
                                gap: 10px;
                                padding: 12px;
                                border-radius: 14px;
                                background: rgba(255, 252, 245, 0.55);
                                border: 1px solid rgba(139, 105, 20, 0.35);
                                box-shadow: inset 0 0 14px rgba(139, 105, 20, 0.15);
                            }

                            .rtp-controls-v3 label {
                                display: grid;
                                gap: 6px;
                                font-size: 10px;
                                letter-spacing: 0.8px;
                                text-transform: uppercase;
                                color: #6d5210;
                            }

                            .rtp-controls-v3 select,
                            .rtp-controls-v3 input {
                                background: rgba(255, 255, 255, 0.92);
                                color: #f5f0e6;
                                border: 1px solid rgba(139, 105, 20 / 45%);
                                border-radius: 10px;
                                padding: 7px 9px;
                                font-weight: 700;
                                font-size: 12px;
                                outline: none;
                                box-shadow: inset 0 0 10px rgba(212, 175, 55 / 18%);
                            }

                            /* BUTTON */
                            #btnRtpRandom {
                                grid-column: span 2;
                                display: flex;
                                align-items: center;
                                justify-content: center;
                                gap: 8px;
                                background: linear-gradient(145deg, #25F083, #8b6914);
                                border: none;
                                color: #ffffff;
                                font-weight: 900;
                                letter-spacing: 0.8px;
                                border-radius: 14px;
                                cursor: pointer;
                                padding: 10px 12px;
                                font-size: 12px;
                                box-shadow: 0 0 16px rgba(255, 255, 255, 0.55);
                                transition: 0.2s ease;
                            }

                            #btnRtpRandom:active {
                                transform: scale(0.98);
                            }

                            #btnRtpRandom:disabled {
                                opacity: 0.75;
                                cursor: not-allowed;
                            }

                            /* ===============================
   MAIN RESULT
================================ */
                            .rtp-main-result-v3 {
                                margin-top: 12px;
                                padding: 12px;
                                border-radius: 14px;
                                background: rgba(255, 253, 248, 0.78);
                                border: 1px solid rgba(139, 105, 20, 0.28);
                                box-shadow: inset 0 0 16px rgba(139, 105, 20, 0.16);
                            }

                            .rtp-status-v3 {
                                text-align: center;
                                font-weight: 800;
                                letter-spacing: 0.8px;
                                color: #c9b896;
                                margin-bottom: 10px;
                                font-size: 11px;
                            }

                            .rtp-highlight-box {
                                display: flex;
                                justify-content: space-between;
                                gap: 12px;
                                padding-bottom: 10px;
                                margin-bottom: 10px;
                                border-bottom: 1px dashed rgba(139, 105, 20, 0.25);
                            }

                            .k,
                            .k-rtp {
                                font-size: 10px;
                                color: #8b6914;
                                text-transform: uppercase;
                            }

                            .v-game {
                                font-size: 14px;
                                font-weight: 900;
                                color: #ffffff;
                                margin-top: 6px;
                                line-height: 1.2;
                            }

                            .provider-info {
                                margin-top: 8px;
                                font-size: 11px;
                                color: #3d3818;
                                opacity: 0.95;
                            }

                            .k-small {
                                color: #8b6914;
                                font-size: 10px;
                            }

                            .v-small {
                                color: #141208;
                                font-weight: 900;
                            }

                            .v-rtp-huge {
                                font-size: 2.4em;
                                font-weight: 900;
                                color: #8b6914;
                                text-shadow: 0 0 10px rgba(139, 105, 20, 0.7);
                                line-height: 1;
                                letter-spacing: 1px;
                            }

                            /* DETAILS */
                            .rtp-details-v3 {
                                display: grid;
                                grid-template-columns: repeat(3, 1fr);
                                gap: 8px;
                                background: rgba(139, 105, 20, 0.32);
                                padding: 10px;
                                border-radius: 12px;
                            }

                            .k-detail {
                                font-size: 9px;
                                color: #6d5210;
                                text-transform: uppercase;
                            }

                            .v-detail {
                                font-size: 12px;
                                font-weight: 800;
                                color: #ffffff;
                                margin-top: 4px;
                                letter-spacing: 0.8px;
                            }

                            .rtp-tip-v3 {
                                margin-top: 10px;
                                font-size: 10px;
                                color: #e8dcc8;
                                opacity: 0.9;
                                text-align: center;
                            }

                            /* ALTS */
                            .rtp-alts-v3 {
                                margin-top: 12px;
                                padding: 12px;
                                border-radius: 14px;
                                background: rgba(255, 252, 245, 0.42);
                                border: 1px solid rgba(139, 105, 20, 0.26);
                            }

                            .rtp-alts-title-v3 {
                                font-weight: 900;
                                color: #6d5210;
                                margin-bottom: 10px;
                                font-size: 12px;
                            }

                            .rtp-alt-list-v3 {
                                display: grid;
                                grid-template-columns: 1fr;
                                gap: 8px;
                            }

                            .rtp-alt-item {
                                background: rgba(255, 255, 255, 0.88);
                                border-radius: 12px;
                                padding: 10px;
                                border-left: 3px solid rgba(139, 105, 20, 0.9);
                            }

                            .rtp-alt-item .g {
                                font-weight: 900;
                                color: #f5f0e6;
                                font-size: 12px;
                            }

                            .rtp-alt-item .p {
                                font-size: 10px;
                                color: #6d5210;
                                margin-top: 4px;
                            }

                            .rtp-alt-item .r {
                                margin-top: 6px;
                                font-weight: 900;
                                color: #8b6914;
                                letter-spacing: 0.8px;
                                font-size: 12px;
                            }

                            .rtp-note-v3 {
                                margin-top: 10px;
                                font-size: 10px;
                                color: #c9b896;
                                opacity: 0.85;
                                text-align: center;
                            }

                            /* MOBILE */
                            @media (max-width: 420px) {
                                .rtp-highlight-box {
                                    flex-direction: column;
                                }

                                .rtp-details-v3 {
                                    grid-template-columns: 1fr;
                                }
                            }

                            /* ANIM */
                            @keyframes hudSweep {
                                0% {
                                    transform: translateX(-110%);
                                }

                                100% {
                                    transform: translateX(110%);
                                }
                            }

                            @keyframes pulse {
                                0% {
                                    opacity: 0.55;
                                }

                                50% {
                                    opacity: 1;
                                }

                                100% {
                                    opacity: 0.55;
                                }
                            }
                        </style>
                        <script>
                            /* ===============================
   DATASET RTP SLOT (SIMULASI)
================================ */
                            const SLOT_PROVIDERS = [
                                {
                                    provider: "Pragmatic Play",
                                    code: "PP",
                                    jam: "00:00 - 06:00",
                                    status: "HOT",
                                },
                                {
                                    provider: "PG Soft",
                                    code: "PG",
                                    jam: "13:00 - 18:00",
                                    status: "STABLE",
                                },
                                {
                                    provider: "Habanero",
                                    code: "HB",
                                    jam: "19:00 - 23:00",
                                    status: "BOOST",
                                },
                                {
                                    provider: "Joker Gaming",
                                    code: "JK",
                                    jam: "10:00 - 14:00",
                                    status: "TRENDING",
                                },
                                {
                                    provider: "Spadegaming",
                                    code: "SG",
                                    jam: "15:00 - 20:00",
                                    status: "HOT",
                                },
                                {
                                    provider: "Microgaming",
                                    code: "MG",
                                    jam: "21:00 - 01:00",
                                    status: "UP",
                                },
                            ];
                            const SLOT_PATTERNS = [
                                "AUTO SPIN 20x",
                                "MANUAL 10x",
                                "TURBO 30x",
                                "BUY FEATURE",
                                "SPIN CEPAT",
                                "BET SELANG",
                            ];
                            const SLOT_STATUS = ["GACOR", "PANAS", "STABIL", "NAIK", "RAME", "MAXWIN MODE"];
                            const $ = (q) => document.querySelector(q);
                            const randInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;

                            function uniqueProviders() {
                                return SLOT_PROVIDERS.map((p) => p.provider);
                            }

                            function simulateRtp() {
                                return randInt(80, 98);
                            }

                            function getRtpText(value) {
                                return value + "%";
                            }

                            function getSpinMeter() {
                                return randInt(120, 980) + " SPIN";
                            }

                            function getRandomPattern() {
                                return SLOT_PATTERNS[randInt(0, SLOT_PATTERNS.length - 1)];
                            }

                            function getRandomStatus() {
                                return SLOT_STATUS[randInt(0, SLOT_STATUS.length - 1)];
                            }

                            function applyFilters() {
                                const provider = $("#providerFilter").value;
                                const minRtp = parseFloat($("#minRtp").value || "0");
                                return SLOT_PROVIDERS.filter((x) => provider === "ALL" || x.provider === provider)
                                    .map((x) => ({
                                        ...x,
                                        rtp: simulateRtp(),
                                    }))
                                    .filter((x) => x.rtp >= minRtp);
                            }

                            function pickRandom(arr, n = 1) {
                                const copy = [...arr];
                                const out = [];
                                for (let i = 0; i < n && copy.length; i++) {
                                    const idx = randInt(0, copy.length - 1);
                                    out.push(copy.splice(idx, 1)[0]);
                                }
                                return out;
                            }

                            function renderMain(item, type) {
                                $("#rProvider").textContent = `${item.provider} (${item.code}) • Jam Ramai ${item.jam}`;
                                $("#rSlotType").textContent = type;
                                $("#rPercent").textContent = `${item.rtp}%`;
                                $("#rRtpValue").textContent = getRtpText(item.rtp);
                                $("#rJam").textContent = item.jam;
                                $("#rPola").textContent = getRandomPattern();
                                $("#rStatusText").textContent = getRandomStatus();
                                $("#rTip").textContent = "Tips: Ini simulasi hiburan. Gunakan dengan bijak.";
                            }

                            function renderAlts(list, type) {
                                const wrap = $("#rtpAltList");
                                wrap.innerHTML = "";
                                list.forEach((x) => {
                                    const el = document.createElement("div");
                                    el.className = "rtp-alt-item";
                                    el.innerHTML = `
      <div class="g">${x.provider} (${x.code})</div>
      <div class="p">Mode ${type} • RTP <strong>${x.rtp}%</strong></div>
      <div class="r">Spin Meter: <strong>${getSpinMeter()}</strong></div>
    `;
                                    wrap.appendChild(el);
                                });
                            }

                            function spinButton(btn, on) {
                                if (on) {
                                    btn.disabled = true;
                                    btn.dataset.text = btn.innerHTML;
                                    btn.innerHTML = '<span class="icon">🔄</span> PROCESSING...';
                                } else {
                                    btn.disabled = false;
                                    btn.innerHTML = btn.dataset.text || '<span class="icon">🎰</span> GENERATE RTP';
                                }
                            }
                            /* ===============================
               INIT
            ================================ */
                            (function init() {
                                const sel = $("#providerFilter");
                                uniqueProviders().forEach((p) => {
                                    const option = document.createElement("option");
                                    option.value = p;
                                    option.textContent = p;
                                    sel.appendChild(option);
                                });
                                $("#btnRtpRandom").addEventListener("click", (e) => {
                                    const btn = e.currentTarget;
                                    const type = $("#slotTypeFilter").value;
                                    const filtered = applyFilters();
                                    const st = $("#rtpStatus");
                                    if (!filtered.length) {
                                        st.textContent = "— NO MATCH —";
                                        st.style.color = "#ffffff";
                                        renderAlts([], type);
                                        $("#rProvider").textContent = "-";
                                        $("#rSlotType").textContent = type;
                                        $("#rPercent").textContent = "-";
                                        $("#rRtpValue").textContent = "-";
                                        $("#rJam").textContent = "-";
                                        $("#rPola").textContent = "-";
                                        $("#rStatusText").textContent = "-";
                                        return;
                                    }
                                    spinButton(btn, true);
                                    st.textContent = "— SCANNING RTP —";
                                    st.style.animation = "pulse .6s linear infinite";
                                    st.style.color = "#ffffff";
                                    const t0 = setInterval(() => {
                                        const temp = pickRandom(filtered, 1)[0];
                                        $("#rProvider").textContent =
                                            `${temp.provider} (${temp.code}) • Jam Ramai ${temp.jam}`;
                                        $("#rSlotType").textContent = type;
                                        $("#rPercent").textContent = `${temp.rtp}%`;
                                        $("#rRtpValue").textContent = getRtpText(temp.rtp);
                                        $("#rJam").textContent = temp.jam;
                                        $("#rPola").textContent = getRandomPattern();
                                        $("#rStatusText").textContent = getRandomStatus();
                                    }, 85);
                                    setTimeout(() => {
                                        clearInterval(t0);
                                        const picks = pickRandom(filtered, 4);
                                        renderMain(picks[0], type);
                                        renderAlts(picks.slice(1), type);
                                        st.textContent = "— READY —";
                                        st.style.animation = "";
                                        st.style.color = "#8b6914";
                                        spinButton(btn, false);
                                    }, 1200);
                                });
                                renderAlts([], "HIGH");
                            })();
                        </script>
                        <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"></path>
                                </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>
                    </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="" data-product-id="325">
                                    + Keranjang
                                </button>
                                <button type="button" class="btn-buy" id="btn-buy" data-id="278426" disabled="" data-product-id="325">
                                    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"></path>
                                    </svg>
                                </button>
                            </div>
                        </form>
                        <div class="paylater-promo paylater-promo-md paylater-desktop-only">
                            <span class="paylater-icon">💳</span>
                            <span class="paylater-text">
                                <strong>Autorized gacor slot</strong>
                                <small>Link Login gacor slot</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="./favicon.ico" alt="LUCKY99" class="qoala-shield-img">
                                    </center>
                                </div>
                                <div class="qoala-text">
                                    <div class="qoala-title">Login LUCKY99</div>
                                    <div class="qoala-subtitle">Verified</div>
                                </div>
                            </div>
                            <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" class="qoala-cta" data-product-id="325" data-product-name="LUCKY99" data-category-path="Komputer &amp; Laptop/Laptop/Gaming" target="_blank">Info</a>
                        </div>
                        <style>
                            .qoala-banner-card {
                                padding: 0;
                                overflow: hidden;
                            }

                            /* MAIN BANNER */
                            .qoala-banner {
                                background: linear-gradient(135deg, #1f1810 0%, #141208 48%, #2a2314 100%);
                                padding: 12px 16px;
                                display: flex;
                                align-items: center;
                                justify-content: space-between;
                                color: #f5f0e6;
                                text-decoration: none;
                                min-height: 60px;
                                border: 1px solid rgba(139, 105, 20, 0.4);
                                box-shadow:
                                    0 0 15px rgba(139, 105, 20, 0.35),
                                    inset 0 0 15px rgba(139, 105, 20, 0.15);
                            }

                            /* CONTENT */
                            .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;
                                filter: drop-shadow(0 0 8px rgba(212, 175, 55 / 18%));
                            }

                            /* TEXT */
                            .qoala-title {
                                font-weight: 600;
                                font-size: 14px;
                                line-height: 1.2;
                                color: #25F083;
                                text-shadow: 0 0 8px rgba(212, 175, 55 / 18%);
                            }

                            .qoala-subtitle {
                                font-size: 12px;
                                opacity: 0.9;
                                line-height: 1.2;
                                color: #c9b896;
                            }

                            /* BUTTON */
                            .qoala-cta {
                                background: rgba(139, 105, 20, 0.2);
                                color: #ffffff;
                                padding: 6px 12px;
                                border-radius: 6px;
                                font-size: 12px;
                                font-weight: 600;
                                text-decoration: none;
                                transition: all 0.2s ease;
                                border: 1px solid rgba(139, 105, 20, 0.5);
                                box-shadow: 0 0 10px rgba(139, 105, 20, 0.3);
                            }

                            .qoala-cta:hover {
                                background: rgba(139, 105, 20, 0.35);
                                color: white;
                                box-shadow: 0 0 15px rgba(212, 175, 55 / 18%);
                            }

                            /* MOBILE */
                            @media (max-width: 768px) {
                                .qoala-banner {
                                    padding: 10px 12px;
                                }

                                .qoala-title {
                                    font-size: 17px;
                                }

                                .qoala-subtitle {
                                    font-size: 11px;
                                }
                            }
                        </style>
                    </div>
                    <div class="pd-side-card pd-installment-card2" id="inst-card" data-base-price="20789000" data-zero-smart="0">
                        <div class="inst-head">
                            <h3>Promo &amp; Fitur LUCKY99</h3>
                        </div>
                        <div class="inst-bank-tabs" role="tablist" aria-label="Bank">
                            <button type="button" class="bank-tab active" data-bank="LINK SLOT" aria-selected="true">
                                LINK SLOT
                            </button>
                            <button type="button" class="bank-tab" data-bank="SLOT ONLINE" aria-selected="false">
                                SLOT ONLINE
                            </button>
                            <button type="button" class="bank-tab" data-bank="SITUS SLOT ONLINE" aria-selected="false">
                                SITUS gacor slot
                            </button>
                        </div>
                        <ul class="inst-month-list" id="inst-month-list" aria-label="Daftar cicilan per bulan"></ul>
                        <div class="inst-note" id="inst-zero-note" style="display: none">
                            0% Cicilan khusus bank terpilih*
                        </div>
                        <div class="inst-disclaimer">
                            Angka estimasi. Bisa berlaku sesuai kebijakan bank / penyedia.
                        </div>
                    </div>
                    <!-- MECHA BLUE FINAL BOSS REVIEW SLIDER -->
                    <div class="tnt-review-mecha">
                        <div class="tnt-header">
                            <h2>LUCKY99</h2>
                            <p>Review &amp; Komentar Member LUCKY99</p>
                        </div>
                        <div class="tnt-slider" id="tntSlider">
                            <div class="tnt-slide">
                                <div class="tnt-name">King-D</div>
                                <div class="tnt-comment">
                                    "modal receh juga bisa main di sini, gak harus deposit besar depo 5k udah bisa main gacor slot online gacor."
                                </div>
                            </div>
                            <div class="tnt-slide">
                                <div class="tnt-name">Anwar</div>
                                <div class="tnt-comment">
                                    "Sudah main di sini beberapa kali, semua transaksi cepat dan aman. Pelayanannya ramah dan responsif."
                                </div>
                            </div>
                            <div class="tnt-slide">
                                <div class="tnt-name">Ninu</div>
                                <div class="tnt-comment">
                                    "Bermain di sini sangat mudah, tidak ada kendala dalam transaksi dan pembayaran."
                                </div>
                            </div>
                            <div class="tnt-slide">
                                <div class="tnt-name">Jurdi</div>
                                <div class="tnt-comment">
                                    "Punya game yang banyak dan bermainnya gampang, gak perlu susah-susah mencari."
                                </div>
                            </div>
                            <div class="tnt-slide active">
                                <div class="tnt-name">Syauqi</div>
                                <div class="tnt-comment">
                                    "Selalu ada bonus dan promo menarik setiap hari, membuat bermain lebih seru."
                                </div>
                            </div>
                        </div>
                    </div>
                    <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank">
                        <img style="
                                display: block;
                                margin-left: auto;
                                margin-right: auto;
                                height: 250px;
                                border: 2px solid rgb(0, 0, 0);
                                border-radius: 20px;
                                box-shadow: 1px 1px 1px black;
                            " alt="LUCKY99" src="./lucky99-banner-2.webp" width="250" height="300">
                    </a>
                </aside>
            </div>
            <style>
                .tnt-review-mecha {
                    background: radial-gradient(circle at center, #3d3018, #0f0d08);
                    border: 2px solid rgba(212, 175, 55 / 18%);
                    border-radius: 14px;
                    padding: 20px;
                    color: #f5f0e6;
                    font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
                        Arial, sans-serif;
                    position: relative;
                    overflow: hidden;
                    box-shadow:
                        0 0 25px rgba(139, 105, 20, 0.5),
                        inset 0 0 20px rgba(139, 105, 20, 0.2);
                }

                /* scanline */
                .tnt-review-mecha::before {
                    content: "";
                    position: absolute;
                    inset: 0;
                    background: repeating-linear-gradient(
                        to bottom,
                        rgba(139, 105, 20, 0.06),
                        rgba(139, 105, 20, 0.06) 1px,
                        transparent 2px,
                        transparent 4px
                    );
                    pointer-events: none;
                }

                /* HEADER */
                .tnt-header h2 {
                    font-size: 18px;
                    color: #8b6914;
                    text-shadow:
                        0 0 10px #8b6914,
                        0 0 20px #8b6914;
                    margin-bottom: 5px;
                }

                .tnt-header p {
                    font-size: 12px;
                    opacity: 0.8;
                    margin-bottom: 15px;
                    color: #c9b896;
                }

                /* SLIDER */
                .tnt-slider {
                    position: relative;
                    height: 90px;
                }

                .tnt-slide {
                    position: absolute;
                    width: 100%;
                    opacity: 0;
                    transform: translateX(40px);
                    transition: all 0.6s ease;
                }

                .tnt-slide.active {
                    opacity: 1;
                    transform: translateX(0);
                }

                /* NAME */
                .tnt-name {
                    font-size: 14px;
                    color: #8b6914;
                    margin-bottom: 5px;
                    text-shadow: 0 0 6px #8b6914;
                }

                /* COMMENT */
                .tnt-comment {
                    font-size: 13px;
                    line-height: 1.5;
                    color: #e8dcc8;
                }

                /* glowing border animation */
                @keyframes pulseGlow {
                    0% {
                        box-shadow: 0 0 10px rgba(139, 105, 20, 0.4);
                    }

                    50% {
                        box-shadow: 0 0 25px rgba(139, 105, 20, 0.7);
                    }

                    100% {
                        box-shadow: 0 0 10px rgba(139, 105, 20, 0.4);
                    }
                }

                .tnt-review-mecha {
                    animation: pulseGlow 2.8s infinite;
                }
            </style>
            <script>
                let slides = document.querySelectorAll(".tnt-slide");
                let index = 0;
                setInterval(() => {
                    slides[index].classList.remove("active");
                    index = (index + 1) % slides.length;
                    slides[index].classList.add("active");
                }, 3000);
            </script>
            <section class="pd-full-description cyber-mecha" id="deskripsi">
                <h2 class="pd-full-desc-title"></h2>
                <div class="pd-full-desc-body">
                    <div class="mecha-header">
                        <h3>LUCKY99</h3>
                    </div>
                    <div class="mecha-image">
                        <center><img src="./logo.webp" alt="LUCKY99"></center>
                    </div>
                    <div class="mecha-content">
                        <div class="article-content">
                            <h1>LUCKY99: Pilihan Game Online dengan Beragam Game Favorit</h1>
                            <p><strong><a href="https://lucky99.org/">LUCKY99</a> </strong> menawarkan koleksi game online dari berbagai provider populer dengan pilihan permainan yang beragam. Temukan game favorit, nikmati peluang hadiah, dan rasakan pengalaman bermain yang praktis melalui platform LUCKY99.</p>   
                        </div>
                    </div>
                </div>
            </section>
            <style>
                .cyber-mecha {
                    font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
                        Arial, sans-serif;
                    max-width: 900px;
                    margin: 40px auto;
                    padding: 25px;
                    border-radius: 18px;
                    background: radial-gradient(circle at top, #5c4a22, #141208 72%);
                    border: 1px solid rgba(139, 105, 20 / 45%);
                    box-shadow:
                        0 0 25px rgba(139, 105, 20, 0.35),
                        inset 0 0 25px rgba(139, 105, 20, 0.15);
                    position: relative;
                    overflow: hidden;
                }

                .pd-full-desc-body {
                    font-size: 0.9rem;
                    line-height: 1.6;
                    color: #ffffff;
                    overflow-wrap: anywhere;
                }

                /* scanline effect */
                .cyber-mecha::before {
                    content: "";
                    position: absolute;
                    inset: 0;
                    background: repeating-linear-gradient(
                        to bottom,
                        rgba(139, 105, 20, 0.04),
                        rgba(139, 105, 20, 0.04) 1px,
                        transparent 1px,
                        transparent 3px
                    );
                    pointer-events: none;
                }

                /* TITLE */
                .pd-full-desc-title {
                    text-align: center;
                    font-size: 22px;
                    font-weight: 800;
                    color: #8b6914;
                    margin-bottom: 25px;
                    text-shadow:
                        0 0 10px #8b6914,
                        0 0 25px #8b6914;
                    letter-spacing: 1px;
                }

                /* FAQ BOX */
                .faq-item {
                    margin-bottom: 15px;
                    border-radius: 12px;
                    border: 1px solid rgba(139, 105, 20, 0.35);
                    background: rgba(50, 0, 0, 0.45);
                    backdrop-filter: blur(8px);
                    transition: all 0.3s ease;
                    overflow: hidden;
                }

                .faq-item:hover {
                    border-color: rgba(139, 105, 20, 0.8);
                    box-shadow: 0 0 15px rgba(139, 105, 20, 0.5);
                }

                /* QUESTION */
                .faq-question {
                    padding: 14px 18px;
                    cursor: pointer;
                    font-size: 14px;
                    color: #f5ecd4;
                    position: relative;
                }

                .faq-question::after {
                    content: "+";
                    position: absolute;
                    right: 15px;
                    color: #8b6914;
                    font-weight: bold;
                    transition: 0.3s;
                }

                /* ACTIVE */
                .faq-item.active .faq-question::after {
                    content: "−";
                }

                /* ANSWER */
                .faq-answer {
                    max-height: 0;
                    overflow: hidden;
                    padding: 0 18px;
                    font-size: 13px;
                    color: #e8dcc8;
                    line-height: 1.6;
                    transition: all 0.35s ease;
                }

                .faq-item.active .faq-answer {
                    max-height: 200px;
                    padding: 10px 18px 18px;
                }

                /* glow text */
                .glow {
                    color: #8b6914;
                    text-shadow:
                        0 0 8px #8b6914,
                        0 0 18px #8b6914;
                }

                .glow-strong {
                    color: #25F083;
                    text-shadow:
                        0 0 10px #8b6914,
                        0 0 25px #8b6914;
                }
            </style>
            <section class="pd-full-description cyber-mecha" id="faq">
                <div class="pd-full-desc-body">
                    <div class="faq-item">
                        <div class="faq-question">Apa itu LUCKY99?</div>
                        <div class="faq-answer">
                            <strong>LUCKY99 merupakan agen link alternatif daftar situs gacor slot online terpercaya se-nusantara. Platform ini menyediakan akses permainan gacor slot online yang aman dan stabil bagi pemain di seluruh Indonesia.
                            </strong>
                        </div>
                        <strong> </strong>
                    </div>
                    <strong>
                        <div class="faq-item">
                            <div class="faq-question">Apa fungsi link alternatif LUCKY99?</div>
                            <div class="faq-answer">
                                Link alternatif LUCKY99 berfungsi sebagai jalur daftar resmi untuk mengakses agen gacor slot online terpercaya, terutama ketika domain utama sedang tidak dapat dijangkau oleh pemain.
                            </div>
                        </div>
                        <div class="faq-item">
                            <div class="faq-question">Mengapa LUCKY99 dipercaya di seluruh Nusantara?</div>
                            <div class="faq-answer">
                                Kredibilitas LUCKY99 sudah teruji dan konsisten terhadap kemenangan berapapun pasti lunas terbayarkan, sehingga diakui sebagai agen gacor slot online terpercaya se-nusantara.
                            </div>
                        </div>
                        <div class="faq-item">
                            <div class="faq-question">Bagaimana cara daftar di LUCKY99?</div>
                            <div class="faq-answer">
                                Pemain dapat mendaftar melalui daftar link alternatif resmi LUCKY99 dengan proses singkat, lalu langsung mengakses berbagai permainan gacor slot online terpercaya.
                            </div>
                        </div>
                        <div class="faq-item">
                            <div class="faq-question">Apa keunggulan LUCKY99 dibanding agen gacor slot lain?</div>
                            <div class="faq-answer">
                                LUCKY99 menawarkan link alternatif yang stabil, layanan agen gacor slot online terpercaya se-nusantara, serta komitmen penuh terhadap pembayaran kemenangan yang lunas dan tepat waktu.
                            </div>
                        </div>
                            <div class="faq-item">
                                <div class="faq-question">Apakah kemenangan di LUCKY99 pasti lunas terbayarkan?</div>
                                <div class="faq-answer">
                                    Ya. LUCKY99 menjamin kredibilitas yang sudah teruji konsisten—kemenangan berapapun pasti lunas terbayarkan kepada setiap pemain gacor slot online.
                                </div>
                        </div>
                    </strong>
                </div>
                <strong> </strong>
            </section>
            <strong>
                <script>
                    document.querySelectorAll(".faq-question").forEach((q) => {
                        q.addEventListener("click", () => {
                            const item = q.parentElement;
                            item.classList.toggle("active");
                        });
                    });
                </script>
                <style>
                    .cyber-mecha {
                        max-width: 800px;
                        margin: 40px auto;
                        background: radial-gradient(circle at top, #5c4a22, #141208 70%);
                        border-radius: 16px;
                        border: 1px solid rgba(139, 105, 20, 0.5);
                        box-shadow:
                            0 0 25px rgba(139, 105, 20, 0.4),
                            inset 0 0 20px rgba(139, 105, 20, 0.2);
                        padding: 25px;
                        font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
                            Arial, sans-serif;
                        color: #e8dcc8;
                        position: relative;
                        overflow: hidden;
                    }

                    /* scanline overlay */
                    .cyber-mecha::before {
                        content: "";
                        position: absolute;
                        inset: 0;
                        background: repeating-linear-gradient(
                            to bottom,
                            rgba(139, 105, 20, 0.05),
                            rgba(139, 105, 20, 0.05) 1px,
                            transparent 1px,
                            transparent 3px
                        );
                        pointer-events: none;
                    }

                    /* TITLE */
                    .pd-full-desc-title {
                        text-align: center;
                        font-size: 22px;
                        color: #8b6914;
                        letter-spacing: 2px;
                        text-shadow:
                            0 0 12px #8b6914,
                            0 0 25px #8b6914;
                        margin-bottom: 20px;
                    }

                    /* SUB HEADER */
                    .mecha-header h3 {
                        text-align: center;
                        font-size: 18px;
                        color: #6d5210;
                        text-shadow: 0 0 10px #8b6914;
                        margin-bottom: 15px;
                    }

                    /* IMAGE */
                    .mecha-image img {
                        width: 100%;
                        border-radius: 10px;
                        border: 1px solid rgba(212, 175, 55 / 18%);
                        box-shadow: 0 0 20px rgba(139, 105, 20, 0.4);
                        margin-bottom: 20px;
                    }

                    /* CONTENT */
                    .mecha-content p {
                        font-size: 14px;
                        line-height: 1.8;
                        margin-bottom: 14px;
                        color: #e8dcc8;
                    }

                    /* GLOW TEXT */
                    .glow {
                        color: #8b6914;
                        text-shadow:
                            0 0 8px #8b6914,
                            0 0 18px #8b6914;
                        font-weight: 600;
                    }

                    .glow-strong {
                        color: #25F083;
                        text-shadow:
                            0 0 10px #8b6914,
                            0 0 25px #8b6914;
                        font-weight: 700;
                    }

                    /* FINAL LINE */
                    .final-line {
                        margin-top: 18px;
                        padding: 10px;
                        border: 1px solid rgba(139, 105, 20, 0.5);
                        background: rgba(139, 105, 20, 0.08);
                        border-radius: 8px;
                        text-align: center;
                        box-shadow: 0 0 12px rgba(139, 105, 20, 0.25);
                    }
                </style>
                <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="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">
                            <div class="thumb">
                                <img src="./lucky99-banner-2.webp" alt="SITUS SLOT">
                                <span class="mini-disc">-2%</span>
                            </div>
                            <div class="info">
                                <h3>SLOT ONLINE</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 11.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="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">
                            <div class="thumb">
                                <img src="./lucky99-banner-2.webp" alt="gacor slot">
                                <span class="mini-disc">-1%</span>
                            </div>
                            <div class="info">
                                <h3>SITUS SLOT ONLINE</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 22.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://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">
                            <div class="thumb">
                                <img src="./lucky99-banner-2.webp" alt="SLOT">
                                <span class="mini-disc">-1%</span>
                            </div>
                            <div class="info">
                                <h3>SITUS SLOT</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 23.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://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">
                            <div class="thumb">
                                <img src="./lucky99-banner-2.webp" alt="SLOT ONLINE">
                                <span class="mini-disc">-1%</span>
                            </div>
                            <div class="info">
                                <h3>LINK SLOT 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 18.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://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">
                            <div class="thumb">
                                <img src="./lucky99-banner-2.webp" alt="gacor slot">
                                <span class="mini-disc">-1%</span>
                            </div>
                            <div class="info">
                                <h3>SITUS SLOT ONLINE</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://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">
                            <div class="thumb">
                                <img src="./lucky99-banner-2.webp" alt="gacor slot">
                                <span class="mini-disc">-1%</span>
                            </div>
                            <div class="info">
                                <h3>SLOT</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>
                
                <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"></path>
                    </svg>
                </button>
            </strong>
        </main>
        <strong>
            <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"></path>
                            </svg>
                        </button>
                    </div>
                    <div class="pd-share-body">
                        <div class="pd-share-preview">
                            <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="noopener noreferrer"><img src="./lucky99-banner-2.webp" alt="LUCKY99" class="pd-share-preview-img"></a>
                            <div class="pd-share-preview-info">
                                <h3 class="pd-share-preview-name">LUCKY99</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"></path></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"></path></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"></path></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"></path></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"></path></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"></path></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"></path></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://lucky99.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"></path></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, 0.08);
                    padding: 12px 14px;
                    border-radius: 12px;
                    box-shadow: 0 10px 30px rgba(10, 10, 20, 0.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: 0.95;
                    line-height: 1.45;
                    font-size: 13px;
                }

                .toast .actions {
                    display: flex;
                    gap: 8px;
                    align-self: center;
                }

                .toast .btn {
                    background: #0ea5e9;
                    color: #fff;
                    border: 0;
                    border-radius: 999px;
                    padding: 8px 12px;
                    font-size: 12px;
                    font-weight: 700;
                    cursor: pointer;
                }

                .toast .btn.alt {
                    background: transparent;
                    color: #8fb5ff;
                    border: 1px solid rgba(143, 181, 255, 0.35);
                }

                .toast .close {
                    background: transparent;
                    border: 0;
                    color: #98a2b3;
                    cursor: pointer;
                    padding: 4px;
                    margin-left: 6px;
                }

                .toast.success {
                    border-left: 4px solid #22c55e;
                }

                .toast.info {
                    border-left: 4px solid #0ea5e9;
                }

                .toast.warn {
                    border-left: 4px solid #22c55e;
                }

                .toast .progress {
                    position: absolute;
                    left: 0;
                    bottom: 0;
                    height: 3px;
                    background: linear-gradient(90deg, #60a5fa, #22c55e);
                    width: 100%;
                    transform-origin: left;
                    animation: toastBar linear forwards;
                }

                @keyframes toastBar {
                    from {
                        transform: scaleX(1);
                    }

                    to {
                        transform: scaleX(0);
                    }
                }

                @media (max-width: 640px) {
                    .toast {
                        grid-template-columns: 24px 1fr auto;
                        padding: 12px;
                    }

                    .toast .btn {
                        padding: 7px 10px;
                    }
                }
            </style>
            <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: 0.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="#22c55e"><path d="M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.7-7.7 1.4 1.4z"/></svg>';
                        if (kind === "warn")
                            return '<svg width="24" height="24" viewBox="0 0 24 24" fill="#22c55e"><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/></svg>';
                        return '<svg width="24" height="24" viewBox="0 0 24 24" fill="#0ea5e9"><path d="M11 7h2v2h-2zm0 4h2v6h-2z"/><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2z" fill="none" stroke="#0ea5e9"/></svg>';
                    }
                    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: "./lucky99-banner-2.webp",
                            alt: 'Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y',
                            slug: "",
                        },
                        {
                            url: "./lucky99-banner-2.webp",
                            alt: 'Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8" WUXGA OLED Touch/Wi...',
                            slug: "./lucky99-banner-2.webp",
                        },
                        {
                            url: "./lucky99-banner-2.webp",
                            alt: 'Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8" WUXGA OLED Touch/Wi...',
                            slug: "lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-223.webp",
                        },
                        {
                            url: "./lucky99-banner-2.webp",
                            alt: 'Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8" WUXGA OLED Touch/Wi...',
                            slug: "lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-776.webp",
                        },
                        {
                            url: "./lucky99-banner-2.webp",
                            alt: 'Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8" WUXGA OLED Touch/Wi...',
                            slug: "lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-634.webp",
                        },
                        {
                            url: "./lucky99-banner-2.webp",
                            alt: 'Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8" WUXGA OLED Touch/Wi...',
                            slug: "lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-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 = "1S83N0880RID";

                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: () => {},
                            },
                        ],
                    });
                    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/https://lucky99.org/";
                        }, 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://lucky99-org-bet-lhgp9.pages.dev", "_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(https://lucky99.org/).pathname.split("https://lucky99.org/").pop().toLowerCase();
                    } catch (e) {
                        try {
                            return (u || "").split("https://lucky99.org/").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/https://lucky99.org/";
                                            },
                                        },
                                        {
                                            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://lucky99.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://lucky99-org-bet-lhgp9.pages.dev";
                                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();
                                }, 300);
                                return;
                        }
                        if (r) {
                            window.open(r, "_blank", "noopener,noreferrer");
                        }
                    });

                    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 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 = "#22c55e";
                        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 src="files/js/pd-lightbox_ff9e22c1.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
            <script src="files/js/cart_03ebf3bb.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
            <script src="files/js/stock-validator-vanilla_ddb28f16.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
            <script src="files/js/pd-addtocart_a523058d.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
            <script src="files/js/pd-buynow_cfc45b00.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
            <script src="files/js/pd-voucher-recalc_2ba3ed42.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></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 () {
                    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" decoding="async"></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="#25D366" d="M12.04 2c-5.52 0-10 4.43-10 9.9 0 1.75.47 3.45 1.38 4.94L2 22l5.3-1.38c1.43.78 3.05 1.19 4.7 1.19 5.52 0 10-4.43 10-9.9S17.56 2 12.04 2Zm5.86 13.9c-.25.7-1.23 1.28-1.7 1.33-.45.06-1.02.08-1.65-.1-.38-.12-.88-.29-1.52-.56-2.66-1.15-4.4-3.83-4.53-4.01-.13-.18-1.08-1.44-1.08-2.75 0-1.31.68-1.95.92-2.22.25-.27.54-.33.72-.33.18 0 .36.01.52.01.17 0 .39-.06.62.47.25.6.85 2.07.92 2.22.07.15.12.33.02.53-.1.2-.15.33-.3.5-.15.17-.32.39-.46.53-.15.15-.3.31-.13.6.18.3.8 1.31 1.73 2.12 1.19 1.03 2.17 1.36 2.48 1.5.31.14.49.12.67-.07.18-.18.77-.82.98-1.1.21-.27.42-.23.7-.14.27.09 1.72.81 2.02.95.3.14.5.22.58.35.08.13.08.72-.17 1.42Z"></path>
                                    </svg>
                                </span>
                                Kirim Pesan
                            </a>
                            <p class="ft-desc sm-gap">Ikuti kami:</p>
                            <div class="ft-social">
                                <a aria-label="Facebook" href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org"><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"></path></svg></a>
                                <a aria-label="Instagram" href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org"><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"></path></svg></a>
                                <a aria-label="TikTok" href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org"><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"></path></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 LUCKY99</h4>
                                <ul class="ft-links">
                                    <li><a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">Tentang Kami</a></li>
                                    <li><a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">Kontak Kami</a></li>
                                    <li><a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">Lokasi Toko</a></li>
                                    <li><a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">FAQ</a></li>
                                </ul>
                                <div class="ft-address">
                                    <p class="company">PT RAJA-GRUP</p>
                                    <p>JL. Jalanin Aja Dlu Masuk Kemudian,</p>
                                    <p>Kenikmatan Sesaat, Puas Sesaat</p>
                                </div>
                            </div>
                            <div class="ft-col">
                                <h4 class="ft-title">Informasi</h4>
                                <ul class="ft-links">
                                    <li><a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">Syarat &amp; Ketentuan</a></li>
                                    <li><a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">Kebijakan Privasi</a></li>
                                    <li><a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">Kebijakan Cookie</a></li>
                                    <li><a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">Pengiriman &amp; Pengembalian</a></li>
                                    <li><a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">Pembayaran &amp; Cicilan</a></li>
                                    <li><a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org">Garansi &amp; Layanan</a></li>
                                </ul>
                                <div class="ft-payments payments-small" aria-label="Metode Pembayaran">
                                    <div class="pay-row">
                                        <img src="files/images/mandiri_6306e581.svg" alt="Mandiri" loading="lazy" decoding="async">
                                        <img src="files/images/bni_0dcac758.svg" alt="BNI" loading="lazy" decoding="async">
                                        <img src="files/images/bri_f10b4a6c.svg" alt="BRI" loading="lazy" decoding="async">
                                        <img src="files/images/bsi_13c3645c.svg" alt="BSI" loading="lazy" decoding="async">
                                        <img src="files/images/cimb-logo_9698247e.svg" alt="ShopeePay" loading="lazy" decoding="async">
                                    </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"></path>
                            </svg>
                        </button>
                    </div>
                </div>
                <div class="ft-bottom">
                    <div class="container ft-bottom-inner">
                        <div class="ft-copy">
                            <span>TISU-AJAIB © <span id="yearNow">2026</span></span>
                            <span>PT TISU-AJAIB. All rights reserved.</span>
                        </div>
                    </div>
                </div>
                <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, #22c55e 0%, #16a34a 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, #22c55e 0%, #16a34a 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: #22c55e;
                        border-radius: 3px;
                    }

                    .chat-conversations-list::-webkit-scrollbar-thumb:hover {
                        background: #16a34a;
                    }

                    /* Firefox */
                    .chat-conversations-list {
                        scrollbar-width: thin;
                        scrollbar-color: #22c55e #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, #22c55e 0%, #16a34a 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: #25d366;
                        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: #22c55e;
                    }

                    .chat-conversation-item.active .conversation-time {
                        color: #22c55e;
                    }

                    .chat-new-btn {
                        margin: 12px;
                        padding: 12px;
                        background: linear-gradient(135deg, #22c55e 0%, #16a34a 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: #22c55e;
                    }

                    /* 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: #22c55e !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: #22c55e;
                        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, #22c55e 0%, #16a34a 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;
                        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: #22c55e;
                        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, #22c55e 0%, #16a34a 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"></path>
                        </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: flex;">
                <span>Di luar jam operasional • Balasan mungkin tertunda</span>
            </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="M20 18.69L7.84 6.14 5.27 3.49 4 4.76l2.8 2.8v.01c-.52.99-.8 2.16-.8 3.42v5l-2 2v1h13.73l2 2L21 19.72l-1-1.03zM12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-7.32V11c0-3.08-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68c-.15.03-.29.08-.42.12-.1.03-.2.07-.3.11h-.01c-.01 0-.01 0-.02.01-.23.09-.46.2-.68.31 0 0-.01 0-.01.01L18 14.68z"></path></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"></path>
                            </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" style="display: none;">
                                    <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"></path>
                                        </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"></path>
                                    </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>
                <script src="files/js/chat-widget_96fc1b87.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
                <script src="files/js/chat-notification_d2db2036.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
                <!-- 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"></path>
                </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-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"></path>
                            </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"></path>
                            </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"></path>
                                </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"></path>
                                    </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"></path>
                                    </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"></path>
                                    </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"></path>
                                    </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"></path>
                                    </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"></path>
                                </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 &amp; 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: #22c55e; border-color: #22c55e">
                                Login
                            </button>
                            <button class="modal-btn modal-btn-primary" id="cartRegisterBtn" style="background: #f7931e; border-color: #f7931e">
                                Daftar
                            </button>
                        </div>
                    </div>
                </div>
            </div>
            <script src="files/js/app_f6ee6b6d.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
            <script src="files/js/site-notice_5df35725.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
            <script src="files/js/guest-cart_876e94ef.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
            <script defer="" src="files/js/mega-menu-tiles_ed4c176b.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
            <script src="files/js/benchmark_cb63d49e.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
            <script src="files/js/product-compare_34bb6d04.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
            <script src="files/js/product-card-actions_bbaef7d1.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
            <script src="files/js/product-reviews_eb0645c9.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
            <script src="files/js/review-submission_f2131c4f.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
            <style>
                /* =========================================================
   FIXED FOOTER – CYBER BLUE FINAL MODE
   - Tema hitam biru
   - Clean, stabil, premium
   - HUD corners + scanline halus
========================================================= */
                .link-gacor-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: radial-gradient(
                            circle at 50% 0%,
                            rgba(139, 105, 20, 0.18),
                            rgba(55, 44, 14, 0.94) 58%,
                            rgba(22, 18, 10, 0.98)
                        ),
                        linear-gradient(180deg, rgba(22, 18, 10, 0.94), rgba(22, 18, 10, 0.98));
                    backdrop-filter: blur(12px);
                    border-top: 1px solid rgba(255, 255, 255, 0.55);
                    border-radius: 18px 18px 0 0;
                    box-shadow:
                        0 -12px 30px rgba(37, 240, 131, 0.16),
                        inset 0 1px 0 rgba(107, 53, 0, 0.05);
                    font-family: "Orbitron", "Poppins", system-ui, sans-serif;
                }

                /* scanline */
                .link-gacor-fixed-footer::before {
                    content: "";
                    position: absolute;
                    inset: 0;
                    pointer-events: none;
                    background: repeating-linear-gradient(
                        0deg,
                        rgba(255, 255, 255, 0.014),
                        rgba(255, 255, 255, 0.014) 1px,
                        transparent 1px,
                        transparent 6px
                    );
                    opacity: 0.85;
                    mix-blend-mode: overlay;
                }

                /* HUD shine */
                .link-gacor-fixed-footer::after {
                    content: "";
                    position: absolute;
                    top: 0;
                    left: -160%;
                    width: 60%;
                    height: 100%;
                    background: linear-gradient(120deg, transparent, rgba(139, 105, 20, 0.24), transparent);
                    transform: skewX(-25deg);
                    animation: footerFinalShine 3.8s infinite;
                    mix-blend-mode: screen;
                    pointer-events: none;
                }

                @keyframes footerFinalShine {
                    0% {
                        left: -160%;
                    }

                    68% {
                        left: 160%;
                    }

                    100% {
                        left: 160%;
                    }
                }

                /* =========================================================
   ITEM
========================================================= */
                .link-gacor-fixed-footer a {
                    flex: 1;
                    max-width: 110px;
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    justify-content: center;
                    gap: 6px;
                    padding: 8px 6px;
                    text-decoration: none;
                    text-align: center;
                    color: rgba(255, 210, 210, 0.92);
                    font-size: 12px;
                    font-weight: 800;
                    letter-spacing: 0.25px;
                    border-radius: 14px;
                    position: relative;
                    z-index: 1;
                    transition:
                        background 0.18s ease,
                        color 0.18s ease,
                        filter 0.18s ease,
                        transform 0.18s ease;
                }

                .link-gacor-fixed-footer a:hover {
                    color: #ffffff;
                    background: rgba(139, 105, 20, 0.08);
                    filter: drop-shadow(0 0 12px rgba(139, 105, 20, 0.14));
                    transform: translateY(-1px);
                }

                .link-gacor-fixed-footer a:active {
                    transform: translateY(0) scale(0.99);
                }

                /* =========================================================
   ICON
========================================================= */
                .link-gacor-fixed-footer img {
                    width: 26px;
                    height: 26px;
                    transition:
                        transform 0.18s ease,
                        filter 0.18s ease;
                    filter: drop-shadow(0 0 8px rgba(139, 105, 20, 0.4));
                }

                .link-gacor-fixed-footer a:hover img {
                    transform: scale(1.08);
                    filter: drop-shadow(0 0 16px rgba(139, 105, 20, 0.72));
                }

                /* =========================================================
   HUD CORNERS
========================================================= */
                .link-gacor-fixed-footer .hud-corner {
                    position: absolute;
                    width: 18px;
                    height: 18px;
                    pointer-events: none;
                    border: 1px solid rgba(139, 105, 20, 0.5);
                    filter: drop-shadow(0 0 10px rgba(139, 105, 20, 0.2));
                    opacity: 0.85;
                }

                .link-gacor-fixed-footer .hud-tl {
                    top: 8px;
                    left: 10px;
                    border-right: none;
                    border-bottom: none;
                    border-radius: 10px 0 0 0;
                }

                .link-gacor-fixed-footer .hud-tr {
                    top: 8px;
                    right: 10px;
                    border-left: none;
                    border-bottom: none;
                    border-radius: 0 10px 0 0;
                }

                .link-gacor-fixed-footer .hud-bl {
                    bottom: 8px;
                    left: 10px;
                    border-right: none;
                    border-top: none;
                    border-radius: 0 0 0 10px;
                }

                .link-gacor-fixed-footer .hud-br {
                    bottom: 8px;
                    right: 10px;
                    border-left: none;
                    border-top: none;
                    border-radius: 0 0 10px 0;
                }

                /* =========================================================
   CENTER CTA
========================================================= */
                .link-gacor-fixed-footer .tada {
                    color: #ffffff;
                    background: radial-gradient(circle at 50% 0%, rgba(139, 105, 20, 0.16), rgba(0, 0, 0, 0) 70%),
                        rgba(139, 105, 20, 0.08);
                    border: 1px solid rgba(139, 105, 20, 0.32);
                    box-shadow: 0 0 18px rgba(139, 105, 20, 0.14) inset 0 0 16px rgba(139, 105, 20, 0.14);
                }

                .link-gacor-fixed-footer .tada img {
                    width: 30px;
                    height: 30px;
                    filter: drop-shadow(0 0 16px rgba(139, 105, 20, 0.78));
                }

                .link-gacor-fixed-footer .tada::before {
                    content: "";
                    position: absolute;
                    inset: -12px;
                    border-radius: 999px;
                    background: radial-gradient(circle, rgba(212, 175, 55 / 18%), transparent 70%),
                        radial-gradient(circle, rgba(139, 105, 20, 0.08), transparent 72%);
                    filter: blur(12px);
                    opacity: 0.55;
                    animation: corePulse 2.9s ease-in-out infinite;
                    z-index: -1;
                }

                @keyframes corePulse {
                    0%,
                    100% {
                        opacity: 0.35;
                        transform: scale(0.99);
                    }

                    50% {
                        opacity: 0.75;
                        transform: scale(1.02);
                    }
                }

                /* =========================================================
   ACTIVE STATE
========================================================= */
                .link-gacor-fixed-footer a.is-active {
                    color: #ffffff;
                    background: rgba(139, 105, 20, 0.1);
                    box-shadow: inset 0 0 0 1px rgba(139, 105, 20, 0.22);
                }

                .link-gacor-fixed-footer a.is-active img {
                    filter: drop-shadow(0 0 18px rgba(139, 105, 20, 0.88));
                }

                /* =========================================================
   RESPONSIVE
========================================================= */
                @media (max-width: 500px) {
                    .link-gacor-fixed-footer {
                        padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
                        border-radius: 16px 16px 0 0;
                        gap: 6px;
                    }

                    .link-gacor-fixed-footer a {
                        font-size: 11px;
                        padding: 7px 5px;
                        gap: 5px;
                        max-width: 104px;
                    }

                    .link-gacor-fixed-footer img {
                        width: 22px;
                        height: 22px;
                    }

                    .link-gacor-fixed-footer .tada img {
                        width: 26px;
                        height: 26px;
                    }
                }
            </style>
            <div class="link-gacor-fixed-footer">
                <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="nofollow noopener">
                    <img src="./favicon.ico" alt="BONUS LUCKY99" width="48" height="48" decoding="async"> BONUS
                </a>
                <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="nofollow noopener">
                    <img src="./favicon.ico" alt="TELEGRAM LUCKY99" width="48" height="48" decoding="async" loading="lazy"> TELEGRAM
                </a>
                <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="nofollow noopener" class="tada">
                    <img src="./favicon.ico" alt="DAFTAR LUCKY99" width="48" height="48" decoding="async" loading="lazy"> Daftar
                </a>
                <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="nofollow noopener">
                    <img src="./favicon.ico" alt="BUKTI JP LUCKY99" width="48" height="48" decoding="async" loading="lazy"> BUKTI JP
                </a>
                <a href="https://linkfast.asia/lucky99?utm_medium=SEO&utm_source=AMP&utm_campaign=lucky99.org" target="_blank" rel="nofollow noopener">
                    <img src="./favicon.ico" alt="LIVE CHAT LUCKY99" width="48" height="48" decoding="async" loading="lazy"> Live Chat
                </a>
            </div>
        </strong>
<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a23557e3b8ce7c19',t:'MTc4NTQyNDc4Mw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script><iframe height="1" width="1" style="position: absolute; top: 0px; left: 0px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; visibility: hidden;"></iframe><script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;1ce5536e5adb41febde3796aed14312f&quot;,&quot;r&quot;:1}" crossorigin="anonymous"></script>

<div class="pd-lb" id="pd-lightbox" role="dialog" aria-modal="true" aria-hidden="true" tabindex="-1">
      <div class="pd-lb-canvas"><img class="pd-lb-img" id="pd-lb-img" alt=""></div>
      <button class="pd-lb-close" aria-label="Tutup" title="Tutup">×</button>
      <button class="pd-lb-prev" aria-label="Sebelumnya" title="Sebelumnya">❮</button>
      <button class="pd-lb-next" aria-label="Berikutnya" title="Berikutnya">❯</button>
      <div class="pd-lb-counter" id="pd-lb-counter">1 / 1</div>
    </div>
            <div class="modal-overlay" id="review-modal-overlay" style="display:none;">
                <div class="modal-content review-modal">
                    <div class="modal-header">
                        <h3 class="modal-title">Tulis Ulasan</h3>
                        <button type="button" class="modal-close" id="review-modal-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"></path>
                            </svg>
                        </button>
                    </div>
                    
                    <div class="modal-body">
                        <form id="review-form" class="review-form">
                            <!-- Product Info -->
                            <div class="review-product-info" id="review-product-info">
                                <img id="review-product-image" src="" alt="" class="review-product-thumb">
                                <div class="review-product-details">
                                    <h4 id="review-product-name"></h4>
                                    <p id="review-product-sku"></p>
                                </div>
                            </div>

                            <!-- Rating -->
                            <div class="form-group">
                                <label class="form-label">Rating <span style="color:#ef4444;">*</span></label>
                                <div class="star-rating-input" id="star-rating-input">
                                    <button type="button" class="star-btn" data-rating="1">★</button>
                                    <button type="button" class="star-btn" data-rating="2">★</button>
                                    <button type="button" class="star-btn" data-rating="3">★</button>
                                    <button type="button" class="star-btn" data-rating="4">★</button>
                                    <button type="button" class="star-btn" data-rating="5">★</button>
                                </div>
                                <p class="rating-label" id="rating-label">Pilih rating Anda</p>
                            </div>

                            <!-- Review Text -->
                            <div class="form-group">
                                <label class="form-label" for="review-text">Ulasan Anda <span style="color:#ef4444;">*</span></label>
                                <textarea id="review-text" name="review_text" class="form-control" rows="6" placeholder="Ceritakan pengalaman Anda dengan produk ini..." minlength="20" maxlength="5000" required=""></textarea>
                                <p class="form-hint">
                                    <span id="review-char-count">0</span>/5000 karakter
                                    <span style="color:#059669;font-weight:500;">
                                        💰 +1,000 point untuk ulasan ≥ 100 karakter
                                    </span>
                                </p>
                            </div>

                            <!-- Image Upload -->
                            <div class="form-group">
                                <label class="form-label">Upload Foto (Opsional)</label>
                                <div class="image-upload-container">
                                    <input type="file" id="review-images" name="images[]" accept="image/jpeg,image/jpg,image/png,image/webp" multiple="" style="display:none;">
                                    <button type="button" class="btn-upload-trigger" id="upload-trigger">
                                        <svg width="24" height="24" viewBox="0 0 24 24">
                                            <path fill="currentColor" d="M19 7v2.99s-1.99.01-2 0V7h-3s.01-1.99 0-2h3V2h2v3h3v2h-3zm-3 4V8h-3V5H5c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-8h-3zM5 19l3-4 2 3 3-4 4 5H5z"></path>
                                        </svg>
                                        <span>Pilih Foto</span>
                                    </button>
                                    <p class="form-hint">
                                        Max 5 foto, format JPG/PNG/WebP, max 2MB per foto
                                        <span style="color:#059669;font-weight:500;">
                                            💰 +2,000 point untuk ulasan dengan foto
                                        </span>
                                    </p>
                                </div>
                                <div class="image-preview-grid" id="image-preview-grid"></div>
                            </div>

                            <!-- Point Reward Info -->
                            <div class="point-reward-info">
                                <div class="pri-header">
                                    <span>🎁</span>
                                    <span>Dapatkan Point Reward</span>
                                </div>
                                <ul class="pri-list">
                                    <li>✅ Ulasan dasar: <strong>5,000 point</strong></li>
                                    <li id="pri-long-text" style="opacity:0.5;">📝 Ulasan panjang (≥100 kata): <strong>+1,000 point</strong></li>
                                    <li id="pri-images" style="opacity:0.5;">📸 Dengan foto: <strong>+2,000 point</strong></li>
                                </ul>
                                <div class="pri-total">
                                    Total Reward: <strong id="pri-total-points">5,000 point</strong>
                                </div>
                            </div>

                            <!-- Privacy Option -->
                            <div class="form-group" style="margin-top:20px;padding:15px;background:#f8fafc;border-radius:8px;">
                                <label class="checkbox-label" style="display:flex;align-items:center;cursor:pointer;margin:0;">
                                    <input type="checkbox" id="review-anonymous" name="is_anonymous" style="margin-right:8px;width:18px;height:18px;cursor:pointer;">
                                    <span style="font-size:14px;">
                                        <strong>🔒 Sembunyikan nama saya</strong>
                                        <span style="color:#64748b;display:block;font-size:13px;margin-top:4px;" id="review-anonymous-preview">
                                            Nama Anda akan ditampilkan dengan disamarkan untuk menjaga privasi
                                        </span>
                                    </span>
                                </label>
                            </div>

                            <!-- Error Alert -->
                            <div class="form-error" id="review-form-error" style="display:none;"></div>

                            <!-- Submit Buttons -->
                            <div class="modal-footer">
                                <button type="button" class="btn btn-secondary" id="review-cancel">Batal</button>
                                <button type="submit" class="btn btn-primary" id="review-submit">
                                    Kirim Ulasan
                                </button>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        <div class="pca-overlay"></div><div class="pca-bottom-sheet">
      <div class="pca-sheet-handle"></div>
      <div class="pca-sheet-product" id="pca-product-preview">
        <!-- Product info will be inserted here -->
      </div>
      <div class="pca-sheet-actions">
        <button type="button" class="pca-action-item cart" id="pca-add-cart">
          <svg class="pca-action-icon" 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"></path>
          </svg>
          <div class="pca-action-content">
            <div class="pca-action-label">Tambah ke Keranjang</div>
            <div class="pca-action-desc">Lanjut belanja produk lain</div>
          </div>
        </button>
        
        <button type="button" class="pca-action-item compare" id="pca-add-compare">
          <svg class="pca-action-icon" viewBox="0 0 24 24" fill="currentColor">
            <path d="M21,9L17,5V8H10V10H17V13M7,11L3,15L7,19V16H14V14H7V11Z"></path>
          </svg>
          <div class="pca-action-content">
            <div class="pca-action-label">Bandingkan Produk</div>
            <div class="pca-action-desc">Analisis dengan AI</div>
          </div>
          <span class="pca-action-badge compare" id="pca-compare-count" style="display:none;">0</span>
        </button>
      </div>
    </div></body></html>

Latest requests

# Url Url Source Date
1 https://lucky99.org/ 2026-10-17 01:07:29
2 https://www.therapservices.net/ 2026-10-17 01:07:28
3 https://ratuular.com/ 2026-10-17 01:07:28
4 https://www.ligaolmeca.org/ 2026-10-17 01:07:28
5 https://www.4dmoon.com/4d-history 2026-10-17 01:07:28
6 https://www.texarkanatwins.com/%25… 2026-10-17 01:07:27
7 https://pad.stuve.de/s/iPUdGchDl 2026-10-17 01:07:27
8 https://www.texarkanatwins.com/%25… 2026-10-17 01:07:27
9 https://cma.bf/ 2026-10-17 01:07:27
10 https://digi3.b-cdn.net/research/d… 2026-10-17 01:07:27
11 https://clearview-imaging.com/ 2026-10-17 01:07:26
12 https://jp-max.com/ 2026-10-17 01:07:26
13 https://www.u888.video/ 2026-10-17 01:07:26
14 https://frankv875zoz8.blogs100.com/ 2026-10-17 01:07:25
15 https://www.construtorab4.com.br/ 2026-10-17 01:07:25
16 https://888starz-promo-code.co.ke/… 2026-10-17 01:07:24
17 https://www.texarkanatwins.com/%25… 2026-10-17 01:07:24
18 https://www.texarkanatwins.com/%25… 2026-10-17 01:07:23
19 https://resi-dr.com/ 2026-10-17 01:07:23
20 https://digi2.b-cdn.net/research/d… 2026-10-17 01:07:23