<?php
session_start();

// ডাটাবেজ কানেকশন ফাইল যুক্ত করা
if (file_exists('config/database.php')) {
    require_once 'config/database.php';
} elseif (file_exists('config/config.php')) {
    require_once 'config/config.php';
}

// লগইন করা থাকলে ডাটাবেজ থেকে রিয়েল ব্যালেন্স ফেচ করা
$balance = 0.00;
if (isset($_SESSION['user_id']) && isset($pdo)) {
    try {
        $stmt = $pdo->prepare("select balance from users where id = ?");
        $stmt->execute([$_SESSION['user_id']]);
        $userData = $stmt->fetch();
        if ($userData && isset($userData['balance'])) {
            $balance = $userData['balance'];
        }
    } catch (Exception $e) {
        $balance = 0.00;
    }
}
$_SESSION['balance'] = $balance;

// ভাষা অনুযায়ী টেক্সট এের তালিকা (বাংলা এবং ইংরেজি)
$i18n = [
    'bn' => [
        'tagline' => 'play • win • big',
        'deposit' => 'ডিপোজিট',
        'withdraw' => 'উইথড্র',
        'login' => 'লগইন',
        'register' => 'রেজিস্টার',
        'menu' => 'মেনু',
        'bonus' => '🎁 বোনাস',
        'history' => '▤ ইতিহাস',
        'support' => '👨🏻‍💻 সাপোর্ট',
        'referral' => '🔗 রেফারল',
        'profile' => '👤 প্রোফাইল',
        'privacy' => '🔒 privacy',
        'language' => '🌐 ভাষা / language',
        'app_download' => '📱 অ্যাপ ডাউনলোড',
        'logout' => '🚪 লগ আউট',
        'notice_text' => 'প্রতিদিন ১০% ক্যাশব্যাক &nbsp;|&nbsp; নতুন ইউজারের জন্য ১০০% বোনাস &nbsp;|&nbsp; ২৪/৭ সাপোর্ট',
        'notice_title' => 'নোটিশ:',
        'lottery' => 'লটারি',
        'play' => 'খেলুন',
        'see_all' => 'সব দেখুন ›',
        'see_less' => 'কম দেখুন ‹',
        'live_support' => '24/7 live support',
        'cat_home' => 'হোম',
        'cat_hot' => 'হট',
        'cat_slots' => 'স্লটস',
        'cat_fishing' => 'ফিশিং',
        'cat_live' => 'লাইভ',
        'popular_title' => '🔥 জনপ্রিয় গেমস',
        'hot_title' => '🔥 হট গেমস',
        'slots_title' => '🎰 স্লট গেমস',
        'fishing_title' => '🐟 ফিশিং গেমস',
        'live_title' => '🟢 লাইভ ক্যাসিনো',
        'banner_1_small' => '♛ gazi12',
        'banner_1_h1' => 'বড় জয়ের<br><span>শুরু এখানেই</span>',
        'banner_1_p' => 'play • win • big',
        'banner_1_btn' => 'এখনই খেলুন',
        'banner_2_small' => '⚡ hot games',
        'banner_2_h1' => 'আজকের ভাইরাল<br><span>গেম খেলুন</span>',
        'banner_2_p' => 'দ্রুত • স্মার্ট • প্রফেশনাল',
        'banner_2_btn' => 'হট গেম দেখুন',
        'banner_3_small' => '🎰 premium slots',
        'banner_3_h1' => 'সেরা স্লট<br><span>এক জায়গায়</span>',
        'banner_3_p' => '২৫টি জনপ্রিয় স্লট গেম',
        'banner_3_btn' => 'স্লট দেখুন',
        'banner_4_small' => '🐟 fishing zone',
        'banner_4_h1' => 'ফিশিং জোনে<br><span>২৫টি গেম</span>',
        'banner_4_p' => 'নতুন কালেকশন প্রতিদিন',
        'banner_4_btn' => 'ফিশিং দেখুন',
    ],
    'en' => [
        'tagline' => 'play • win • big',
        'deposit' => 'deposit',
        'withdraw' => 'withdraw',
        'login' => 'login',
        'register' => 'register',
        'menu' => 'menu',
        'bonus' => '🎁 bonus',
        'history' => '▤ history',
        'support' => '👨🏻‍💻 support',
        'referral' => '🔗 referral',
        'profile' => '👤 profile',
        'privacy' => '🔒 privacy',
        'language' => '🌐 language / ভাষা',
        'app_download' => '📱 app download',
        'logout' => '🚪 logout',
        'notice_text' => 'daily 10% cashback &nbsp;|&nbsp; 100% welcome bonus &nbsp;|&nbsp; 24/7 support',
        'notice_title' => 'notice:',
        'lottery' => 'lottery',
        'play' => 'play',
        'see_all' => 'see all ›',
        'see_less' => 'see less ‹',
        'live_support' => '24/7 live support',
        'cat_home' => 'home',
        'cat_hot' => 'hot',
        'cat_slots' => 'slots',
        'cat_fishing' => 'fishing',
        'cat_live' => 'live',
        'popular_title' => '🔥 popular games',
        'hot_title' => '🔥 hot games',
        'slots_title' => '🎰 slot games',
        'fishing_title' => '🐟 fishing games',
        'live_title' => '🟢 live casino',
        'banner_1_small' => '♛ gazi12',
        'banner_1_h1' => 'big wins<br><span>start here</span>',
        'banner_1_p' => 'play • win • big',
        'banner_1_btn' => 'play now',
        'banner_2_small' => '⚡ hot games',
        'banner_2_h1' => 'play today’s<br><span>viral games</span>',
        'banner_2_p' => 'fast • smart • professional',
        'banner_2_btn' => 'view hot games',
        'banner_3_small' => '🎰 premium slots',
        'banner_3_h1' => 'best slots<br><span>in one place</span>',
        'banner_3_p' => '25 popular slot games',
        'banner_3_btn' => 'view slots',
        'banner_4_small' => '🐟 fishing zone',
        'banner_4_h1' => '25 games in<br><span>fishing zone</span>',
        'banner_4_p' => 'new collection daily',
        'banner_4_btn' => 'view fishing',
    ]
];

// ডাটাবেজ থেকে ক্যাটাগরি এবং এডমিন দ্বারা যোগ করা গেমগুলো ফেচ করা
$categories = [];
if (isset($pdo)) {
    try {
        $cat_stmt = $pdo->query("SELECT * FROM categories ORDER BY id ASC");
        $fetched_cats = $cat_stmt->fetchAll(PDO::FETCH_ASSOC);

        foreach ($fetched_cats as $cat) {
            $game_stmt = $pdo->prepare("SELECT * FROM games WHERE category_id = ? ORDER BY id DESC");
            $game_stmt->execute([$cat['id']]);
            $games = $game_stmt->fetchAll(PDO::FETCH_ASSOC);

            $categories[$cat['slug']] = [
                'key' => 'cat_' . $cat['slug'],
                'name_bn' => $cat['name_bn'],
                'name_en' => $cat['name_en'] ?? $cat['name_bn'],
                'games' => $games
            ];
        }
    } catch (Exception $e) {
        $categories = [];
    }
}

$themes = [
    ['#07172d','#0b5da8'],['#170b2b','#7b24c9'],['#26100a','#d27b17'],['#061b22','#008ca5'],['#1d0b13','#bd315b'],['#081f15','#198754'],['#15102b','#4f46e5'],['#241208','#b45309'],['#071b2d','#0284c7'],['#210d20','#be185d']
];

function gameCardDynamic($game, $index, $categorySlug) {
    global $themes;
    [$c1,$c2] = $themes[$index % count($themes)];
    $name = $game['game_name'];
    $icon = !empty($game['game_icon']) ? $game['game_icon'] : '🎮';
    $live = $categorySlug === 'live';
    $fishing = $categorySlug === 'fishing';
    $gameId = $game['id']; 
    
    echo '<button class="game-card" type="button" onclick="window.location.href=\'play.php?id='.$gameId.'\'">';
    echo '<span class="game-art" style="--c1:'.$c1.';--c2:'.$c2.'">';
    if ($live) echo '<em class="live-badge">live</em>';
    
    echo '<span class="game-icon">';
    if (!empty($game['game_icon']) && (str_starts_with($game['game_icon'], 'uploads/') || str_contains($game['game_icon'], '.'))) {
        echo '<img src="'.htmlspecialchars($game['game_icon'], ENT_QUOTES, 'UTF-8').'" alt="Game Icon">';
    } else {
        echo htmlspecialchars($icon, ENT_QUOTES, 'UTF-8');
    }
    echo '</span>';

    if ($fishing) echo '<span class="fish-glow">🐟</span>';
    echo '<strong>'.htmlspecialchars($name, ENT_QUOTES, 'UTF-8').'</strong></span>';
    echo '<span class="game-name">'.htmlspecialchars($name, ENT_QUOTES, 'UTF-8').'</span>';
    echo '</button>';
}
?>
<!doctype html>
<html lang="bn">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<title>gazi12 — play • win • big</title>
<style>
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#020a14;color:#fff;font-family:arial,"noto sans bengali",sans-serif}.site{width:100%;max-width:1024px;margin:auto;min-height:100vh;background:radial-gradient(circle at 50% 0,#123254,#061525 38%,#020a15 78%);overflow:hidden}.top{min-height:78px;display:flex;align-items:center;gap:6px;padding:7px 8px;background:linear-gradient(180deg,#0a2341,#061426);border-bottom:1px solid #0b4c82;position:sticky;top:0;z-index:50}.hamb{background:none;border:0;color:#fff;font-size:26px;width:36px;padding:0;cursor:pointer}.brand{text-align:center;line-height:1;white-space:nowrap}.crown{font-size:14px;color:#ffd52b}.brand b{display:block;font-size:23px}.tag{font-size:8px;letter-spacing:2px;color:#cbd5e1;margin-top:3px}.balance{height:43px;min-width:88px;max-width:94px;border:1px solid #1681d7;border-radius:11px;padding:0 7px;display:flex;align-items:center;gap:4px;font-size:10px;white-space:nowrap}.balance b{font-size:11px}.balance span:last-child{margin-left:auto;font-size:17px}.top-btn{height:43px;display:flex;align-items:center;justify-content:center;text-decoration:none;min-width:75px;border:0;border-radius:11px;color:#fff;font-weight:800;font-size:11px;padding:0 6px;white-space:nowrap}.deposit{background:#09b76b}.withdraw{background:#0968f3;min-width:96px}.profile{background:none;border:0;color:#fff;font-size:18px;padding:4px}.banner-wrap{padding:8px}.banner{height:205px;border:2px solid #0785dc;border-radius:17px;position:relative;overflow:hidden;box-shadow:0 0 18px rgba(0,130,230,.13)}.slide{position:absolute;inset:0;display:none;align-items:center;justify-content:center;text-align:center;padding:25px}.slide.active{display:flex}.s1{background:radial-gradient(circle,#4b1735,#170c18 55%,#061a37)}.s2{background:radial-gradient(circle,#193d72,#07172d 58%,#03101e)}.s3{background:radial-gradient(circle,#60410b,#21130a 55%,#07182c)}.s4{background:radial-gradient(circle,#194a45,#081e2b 58%,#030e1b)}.slide-inner{max-width:90%;text-shadow:0 3px 8px #000}.slide-inner small{font-size:13px;color:#ffd52a;font-weight:900}.slide-inner h1{font-size:29px;line-height:1.08;margin:9px 0}.slide-inner h1 span{color:#ffd51c}.slide-inner p{margin:0;font-size:13px;font-weight:700}.play-btn{margin-top:13px;border:0;border-radius:25px;padding:9px 23px;background:#ffd21a;color:#171717;font-weight:900;font-size:13px}.arrow{position:absolute;top:42%;border:0;background:none;color:#fff;font-size:44px;text-shadow:0 2px 5px #000;z-index:2;padding:0 7px}.prev{left:0}.next{right:0}.dots{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:center;gap:7px}.dots i{width:10px;height:10px;border-radius:50%;background:#ddd}.dots i.active{background:#ffd31c}.notice{margin:8px;min-height:50px;border:1px solid #087dd2;border-radius:15px;display:flex;align-items:center;gap:7px;padding:7px 9px;background:#061b34;color:#eee;font-size:12px;overflow:hidden}.notice .meg{font-size:22px}.notice b{color:#ffd51a;white-space:nowrap}.ticker{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notice .chev{margin-left:auto;color:#12a2ff;font-size:27px}.catbar{display:flex;gap:6px;padding:0 8px;overflow-x:auto;scrollbar-width:none}.catbar::-webkit-scrollbar{display:none}.cat{flex:0 0 78px;min-height:64px;border:1px solid #075d9e;border-radius:15px;background:#061426;color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;font-weight:800}.cat.active{background:linear-gradient(180deg,#087dff,#0562db)}.cat .ci{font-size:23px;line-height:1.1}.section{padding:10px 8px 0;scroll-margin-top:82px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.section-head h2{font-size:19px;margin:0}.showall{border:0;background:none;color:#08a6ff;font-weight:800;font-size:13px;padding:3px;cursor:pointer}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}.game-grid>div{min-width:0;width:100%}.game-card{width:100%;display:block;border:1px solid #0878c7;border-radius:10px;overflow:hidden;background:#07192d;color:#fff;padding:0;box-shadow:0 5px 15px rgba(0,0,0,.35);text-align:left;cursor:pointer}.game-art{aspect-ratio:1/1;height:auto;background:linear-gradient(135deg,var(--c1),var(--c2));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.game-art:after{content:"";position:absolute;inset:auto -25% -42% -25%;height:80px;background:rgba(255,255,255,.10);transform:rotate(-8deg)}.game-icon{font-size:49px;filter:drop-shadow(0 4px 5px #000);position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.game-icon img{width:100%;height:100%;object-fit:cover;border-radius:8px}.game-art strong{position:absolute;left:5px;right:5px;bottom:4px;font-size:10px;color:#fff;text-shadow:0 2px 4px #000;z-index:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-name{display:block;text-align:center;font-size:10px;font-weight:800;padding:6px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-badge{position:absolute;top:5px;right:5px;background:#ef2942;color:#fff;padding:3px 5px;border-radius:5px;font-size:9px;font-style:normal;font-weight:900;z-index:3}.fish-glow{position:absolute;font-size:24px;right:8px;top:8px;opacity:.7}.hidden-card{display:none}.section.expanded .hidden-card{display:block}.lottery-card{border:1px solid #0878c7;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#111b3b,#6b1c4d);min-height:112px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.3)}.lottery-card .ticket{font-size:52px}.lottery-card strong{font-size:14px;margin-left:8px}.utility-row{padding-top:12px}.utility-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:8px}.utility{min-height:58px;border:1px solid #0868a9;border-radius:14px;background:#061b33;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:11px}.utility span{font-size:22px}.menu-panel{position:fixed;top:78px;left:8px;width:260px;max-width:calc(100% - 16px);background:#061a30;border:1px solid #0a86d8;border-radius:14px;padding:10px;display:none;z-index:99999;box-shadow:0 12px 30px rgba(0,0,0,.55)}.menu-panel.open{display:block}.menu-title{font-weight:900;color:#ffd51a;padding:6px 8px 9px;border-bottom:1px solid #16496f}.menu-links{display:flex;flex-direction:column;gap:7px;margin-top:8px}.menu-link{width:100%;min-height:42px;border:1px solid #0868a9;border-radius:10px;background:#071d35;color:#fff;padding:10px 8px;text-align:left;font-weight:800;font-size:12px;text-decoration:none;display:flex;align-items:center}.menu-link:active{background:#0b63bc}.menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.25);display:none;z-index:99998}.menu-overlay.open{display:block}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(15px);background:#061a30;border:1px solid #0a86d8;border-radius:12px;padding:10px 16px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:100;white-space:nowrap}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media(max-width:480px){.top{gap:4px}.brand b{font-size:21px}.balance{min-width:91px;max-width:99px}.top-btn{padding:0 5px}.profile{display:none}.game-art{aspect-ratio:1/1;height:auto}.banner{height:200px}.slide-inner h1{font-size:27px}}@media(max-width:360px){.brand{margin-left:0}.balance{margin-left:0}.withdraw{padding:0 7px}.game-grid{gap:5px}.game-art{aspect-ratio:1/1;height:auto}.game-icon{font-size:43px}}
.menu-language{display:block}.language-options{display:none;padding:4px 0 2px 12px}.language-options.open{display:block}.language-options button{width:100%;min-height:38px;border:1px solid #0868a9;border-radius:9px;background:#061426;color:#fff;text-align:left;padding:8px;font-weight:800;font-size:12px;margin-top:5px}
</style>
<script>
const i18nData = <?=json_encode($i18n, JSON_UNESCAPED_UNICODE);?>;
function t(key) {
    let lang = localStorage.getItem('gazi12_lang') || 'bn';
    return i18nData[lang][key] || i18nData['bn'][key] || key;
}
</script>
</head>
<body>
<div class="site">
<header class="top">
<?php if (isset($_SESSION['user_id'])): ?>
    <button class="hamb" type="button" aria-label="menu" onclick="toggleMenu()">☰</button>
<?php endif; ?>

<div class="brand"><div class="crown">♛</div><b>gazi12</b><div class="tag" data-i18n="tagline">play • win • big</div></div>

<?php if (isset($_SESSION['user_id'])): ?>
    <div class="balance" style="margin-left:auto;">💰 <b>৳ <?=number_format($_SESSION['balance'],2)?></b><span>⌄</span></div>
    <a class="top-btn deposit" href="deposit.php" data-i18n="deposit">ডিপোজিট</a>
    <a class="top-btn withdraw" href="withdraw.php" data-i18n="withdraw">উইথড্র</a>
    <button class="profile" type="button" onclick="window.location.href='profile.php'">👤</button>
<?php else: ?>
    <div style="margin-left:auto; display:flex; gap:5px;">
        <a class="top-btn" href="login.php" style="background:#0968f3;" data-i18n="login">লগইন</a>
        <a class="top-btn" href="register.php" style="background:#09b76b;" data-i18n="register">রেজিস্টার</a>
    </div>
<?php endif; ?>

</header>
<div class="menu-overlay" id="menuOverlay" onclick="toggleMenu(false)"></div>
<div class="menu-panel" id="menuPanel">
  <div class="menu-title" data-i18n="menu">☰ মেনু</div>
  <div class="menu-links">
    <a class="menu-link" href="user/bonus.php" data-i18n="bonus">🎁 বোনাস</a>
    <a class="menu-link" href="user/history.php" data-i18n="history">▤ ইতিহাস</a>
    <a class="menu-link" href="user/support.php" data-i18n="support">👨🏻‍💻 সাপোর্ট</a>
    <a class="menu-link" href="user/referral.php" data-i18n="referral">🔗 রেফারল</a>
    <a class="menu-link" href="user/profile.php" data-i18n="profile">👤 প্রোফাইল</a>
    <a class="menu-link" href="user/privacy.php" data-i18n="privacy">🔒 privacy</a>
    <div class="menu-language">
      <button class="menu-link" type="button" onclick="toggleLanguage()"><span data-i18n="language">🌐 ভাষা / language</span> <span style="margin-left:auto">⌄</span></button>
      <div class="language-options" id="languageOptions">
        <button type="button" onclick="setLanguage('bn')">🇧🇩 বাংলা</button>
        <button type="button" onclick="setLanguage('en')">🇬🇧 english</button>
      </div>
    </div>
    <a class="menu-link" href="app_download.php" data-i18n="app_download">📱 অ্যাপ ডাউনলোড</a>
    
    <?php if(isset($_SESSION['user_id'])): ?>
        <a class="menu-link" href="logout.php" style="color:#ef2942;" data-i18n="logout">🚪 লগ আউট</a>
    <?php else: ?>
        <a class="menu-link" href="login.php" data-i18n="login">🔑 লগইন</a>
    <?php endif; ?>

  </div>
</div>

<main>
<section class="banner-wrap">
<div class="banner" id="banner">
<div class="slide s1 active"><div class="slide-inner"><small data-i18n="banner_1_small">♛ gazi12</small><h1 data-i18n-html="banner_1_h1">বড় জয়ের<br><span>শুরু এখানেই</span></h1><p data-i18n="banner_1_p">play • win • big</p><button class="play-btn" type="button" onclick="scrollToCategory('popular')" data-i18n="banner_1_btn">এখনই খেলুন</button></div></div>
<div class="slide s2"><div class="slide-inner"><small data-i18n="banner_2_small">⚡ hot games</small><h1 data-i18n-html="banner_2_h1">আজকের ভাইরাল<br><span>গেম খেলুন</span></h1><p data-i18n="banner_2_p">দ্রুত • স্মার্ট • প্রফেশনাল</p><button class="play-btn" type="button" onclick="scrollToCategory('hot')" data-i18n="banner_2_btn">হট গেম দেখুন</button></div></div>
<div class="slide s3"><div class="slide-inner"><small data-i18n="banner_3_small">🎰 premium slots</small><h1 data-i18n-html="banner_3_h1">সেরা স্লট<br><span>এক জায়গায়</span></h1><p data-i18n="banner_3_p">২৫টি জনপ্রিয় স্লট গেম</p><button class="play-btn" type="button" onclick="scrollToCategory('slots')" data-i18n="banner_3_btn">স্লট দেখুন</button></div></div>
<div class="slide s4"><div class="slide-inner"><small data-i18n="banner_4_small">🐟 fishing zone</small><h1 data-i18n-html="banner_4_h1">ফিশিং জোনে<br><span>২৫টি গেম</span></h1><p data-i18n="banner_4_p">নতুন কালেকশন প্রতিদিন</p><button class="play-btn" type="button" onclick="scrollToCategory('fishing')" data-i18n="banner_4_btn">ফিশিং দেখুন</button></div></div>
<button class="arrow prev" type="button" onclick="changeSlide(-1)">‹</button><button class="arrow next" type="button" onclick="changeSlide(1)">›</button>
<div class="dots" id="dots"><i class="active"></i><i></i><i></i><i></i></div>
</div></section>

<div class="notice"><span class="meg">📢</span><b data-i18n="notice_title">notice:</b><div class="ticker" data-i18n-html="notice_text">প্রতিদিন ১০% ক্যাশব্যাক &nbsp;|&nbsp; নতুন ইউজারের জন্য ১০০% বোনাস &nbsp;|&nbsp; ২৪/৭ সাপোর্ট</div><span class="chev">›</span></div>

<!-- নেভিগেশন বার - ডাইনামিক ক্যাটাগরি -->
<nav class="catbar" id="catbar">
<a class="cat active" href="#popular" data-cat="popular"><span class="ci">⌂</span><span data-i18n="cat_home">হোম</span></a>
<?php foreach($categories as $key => $cat): ?>
    <?php if($key !== 'popular'): ?>
        <a class="cat" href="#<?=$key?>" data-cat="<?=$key?>"><span class="ci">🎮</span><span><?=$cat['name_bn']?></span></a>
    <?php endif; ?>
<?php endforeach; ?>
</nav>

<section class="section" id="lottery" data-section="lottery">
<div class="section-head"><h2 data-i18n="lottery">🎟️ লটারি</h2><button class="showall" type="button" onclick="gameClicked(t('lottery'))"><span data-i18n="play">খেলুন</span> ›</button></div>
<a class="lottery-card" href="javascript:void(0)" onclick="gameClicked(t('lottery'))"><span class="ticket">🎟️</span><strong data-i18n="lottery">লটারি কাট</strong></a>
</section>

<!-- গেম সেকশনসমূহ - ডাটাবেজ থেকে ফেচ করা -->
<?php if(!empty($categories)): ?>
    <?php foreach($categories as $key => $cat): ?>
    <section class="section" id="<?=$key?>" data-section="<?=$key?>">
    <div class="section-head">
        <h2><?=$cat['name_bn']?></h2>
        <button class="showall toggle-btn" type="button" onclick="toggleSection('<?=$key?>',this)" data-i18n="see_all">সব দেখুন ›</button>
    </div>
    <div class="game-grid">
    <?php 
    if(!empty($cat['games'])) {
        foreach($cat['games'] as $i => $game){ 
            echo '<div class="'.($i>=4?'hidden-card':''). '">'; 
            gameCardDynamic($game, $i, $key); 
            echo '</div>'; 
        }
    } else {
        echo '<div style="grid-column: 1 / -1; padding: 15px; text-align: center; color: #888;">এই ক্যাটাগরিতে এখনও কোনো গেম যোগ করা হয়নি।</div>';
    }
    ?>
    </div></section>
    <?php endforeach; ?>
<?php endif; ?>

</main>

<section class="section utility-row">
<div class="utility-grid">
<a class="utility support" href="support.php"><span>👨🏻‍💻</span><b data-i18n="live_support">24/7 live support</b></a>
<a class="utility" href="app_download.php"><span>📱</span><b data-i18n="app_download">অ্যাপ ডাউনলোড</b></a>
</div>
</section>

<div class="toast" id="toast"></div>
</div>
<script>
let slide = 0;
const slides = [...document.querySelectorAll('.slide')];
const dots = [...document.querySelectorAll('#dots i')];

function renderSlide() {
    slides.forEach((s, i) => s.classList.toggle('active', i === slide));
    dots.forEach((d, i) => d.classList.toggle('active', i === slide));
}

function changeSlide(dir) {
    slide = (slide + dir + slides.length) % slides.length;
    renderSlide();
}

let bannerInterval = setInterval(() => changeSlide(1), 5000);

const bannerElem = document.getElementById('banner');
if(bannerElem) {
    bannerElem.addEventListener('mouseenter', () => clearInterval(bannerInterval));
    bannerElem.addEventListener('mouseleave', () => bannerInterval = setInterval(() => changeSlide(1), 5000));
}

function toggleMenu(force) {
    const p = document.getElementById('menuPanel');
    const o = document.getElementById('menuOverlay');
    if(!p || !o) return;
    const open = force === undefined ? !p.classList.contains('open') : force;
    p.classList.toggle('open', open);
    o.classList.toggle('open', open);
}

function showMenuToast(name) {
    toggleMenu(false);
    gameClicked(name);
}

function toggleSection(id, btn) {
    const sec = document.getElementById(id);
    if(!sec) return;
    const open = sec.classList.toggle('expanded');
    btn.textContent = open ? t('see_less') : t('see_all');
    if(open) {
        sec.scrollIntoView({ behavior: 'smooth', block: 'start' });
    }
}

function scrollToCategory(id) {
    const el = document.getElementById(id);
    if(el) {
        el.scrollIntoView({ behavior: 'smooth', block: 'start' });
    }
    document.querySelectorAll('.cat').forEach(a => a.classList.toggle('active', a.dataset.cat === id));
}

function toggleLanguage() {
    document.getElementById('languageOptions')?.classList.toggle('open');
}

function setLanguage(lang) {
    localStorage.setItem('gazi12_lang', lang);
    document.documentElement.lang = lang;
    updatePageLanguage();
    toggleMenu(false);
    showMenuToast(lang === 'en' ? 'english selected' : 'বাংলা সিলেক্ট করা হয়েছে');
}

function updatePageLanguage() {
    let lang = localStorage.getItem('gazi12_lang') || 'bn';
    document.querySelectorAll('[data-i18n]').forEach(el => {
        let key = el.getAttribute('data-i18n');
        if(i18nData[lang][key]) {
            el.textContent = i18nData[lang][key];
        }
    });
    document.querySelectorAll('[data-i18n-html]').forEach(el => {
        let key = el.getAttribute('data-i18n-html');
        if(i18nData[lang][key]) {
            el.innerHTML = i18nData[lang][key];
        }
    });
}

(function() {
    let l = localStorage.getItem('gazi12_lang');
    if(l) {
        document.documentElement.lang = l;
        window.addEventListener('DOMContentLoaded', updatePageLanguage);
    }
})();

function gameClicked(name) {
    const t = document.getElementById('toast');
    if(!t) return;
    let lang = localStorage.getItem('gazi12_lang') || 'bn';
    t.textContent = name + (lang === 'en' ? ' — ready to open game' : ' — গেম ওপেন করার জন্য প্রস্তুত');
    t.classList.add('show');
    setTimeout(() => t.classList.remove('show'), 1800);
}

document.querySelectorAll('.cat').forEach(a => a.addEventListener('click', () => {
    document.querySelectorAll('.cat').forEach(x => x.classList.remove('active'));
    a.classList.add('active');
}));
</script>
</body>
</html>
