:root{ --gold:#FFD700; --gold2:#ffb300; --bg:#050507; --card:#101115; --muted:#c9ced6; }
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:#fff;
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(255,215,0,.12), transparent 60%),
    linear-gradient(180deg,#0a0a0e,#050507 55%, #0b0a09);
  font-family:'Noto Sans Lao','Kanit',system-ui,Segoe UI,Roboto,Arial,sans-serif;
  overflow-x:hidden;
  display:flex;
  justify-content:center;
}
.wrap{width:100%; max-width:980px; margin:24px auto 40px; padding:0 10px}

/* ກ່ອງທອງ */
.gbox{
  position:relative;
  background:linear-gradient(180deg,#14151a,#0e0f13);
  border-radius:16px;
  padding:16px;
  margin:14px 0;
  border:2px solid var(--gold);
  box-shadow:0 0 0 1px rgba(255,215,0,.55) inset, 0 0 25px rgba(255,215,0,.55), 0 12px 40px rgba(0,0,0,.6);
}
.center{text-align:center}
.title{margin:6px 0 12px; color:var(--gold); text-align:center}

/* ໂລໂກ້ */
.site-logo{
  width:120px;height:120px;border-radius:50%;object-fit:cover;display:block;margin:6px auto;
  box-shadow:0 0 40px rgba(255,215,0,.7), 0 0 0 2px rgba(255,215,0,.7);
}

/* ===== Jackpot + Online ===== */
.kp-box{padding-top:12px}
.jackpot-number{
  font-size:44px;
  font-weight:900;
  letter-spacing:.5px;
  color:#ffe382;
  text-shadow:0 0 18px rgba(255,215,0,.7), 0 0 6px rgba(255,215,0,.5);
  display:inline-block;
  position:relative;
  padding:8px 14px;
  border-radius:12px;
}
.glow-ring::before{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:14px;
  background:conic-gradient(from 0deg, rgba(255,215,0,0), rgba(255,215,0,.7), rgba(255,215,0,0));
  filter:blur(12px);
  animation:ringSpin 4.5s linear infinite;
}
@keyframes ringSpin{to{transform:rotate(360deg)}}
.jackpot-label{margin-top:6px; color:#ffd700; font-weight:700; font-size:18px;}
.online-line{
  margin-top:6px;
  font-weight:700;
  color:#b9ffe1;
  display:inline-block;
  padding:6px 10px;
  border-radius:10px;
  position:relative;
  font-size:16px;
}
.online-value{font-size:19px;}
.glow-bar::after{
  content:"";
  position:absolute;
  left:-20%;
  top:0;
  bottom:0;
  width:40%;
  background:linear-gradient(90deg, rgba(0,255,163,0), rgba(0,255,163,.25), rgba(0,255,163,0));
  filter:blur(8px);
  animation:barRun 2.2s ease-in-out infinite;
  border-radius:10px;
}
@keyframes barRun{
  0%{transform:translateX(0)}
  50%{transform:translateX(180%)}
  100%{transform:translateX(360%)}
}

/* ===== ปุ่มหลักทั้งหมด ===== */
.lock-section {
  width: 100%;
  max-width: 500px;
  margin: 20px auto;
  padding: 0 15px;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
}
.button-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
}
.gold-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 20px;
  font-weight: bold;
  padding: 14px 20px;
  border-radius: 50px;
  text-decoration: none;
  width: 90%;
  max-width: 350px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0,0,0,0.6), inset 0 2px 8px rgba(255,255,255,0.3);
  transition: all 0.3s ease;
  font-family: "Noto Sans Lao", "Phetsarath OT", sans-serif;
  position: relative;
}
.gold-button:hover {transform: scale(1.05);}
.gold-button .icon {width: 28px; height: 28px;}
.whatsapp {background: linear-gradient(145deg, #25D366, #128C7E); color:#fff; border:2px solid #25D366;}
.messenger {background: linear-gradient(145deg, #FFD700, #b8860b); color:#000; border:2px solid #FFD700;}
.line {background: linear-gradient(145deg, #06C755, #008a32); color:#fff; border:2px solid #06C755;}
.entry {background: linear-gradient(145deg, #ffcc00, #ff9900); color:#000; border:2px solid #ffcc00;}
.blink {animation: blink 1.5s infinite;}
@keyframes blink {
  0%{opacity:1;transform:scale(1);}
  50%{opacity:.85;transform:scale(1.05);}
  100%{opacity:1;transform:scale(1);}
}

/* ปุ่มสมัครสมาชิก */
.signup-btn {
  display: inline-block;
  width: 90%;
  max-width: 350px;
  margin: 0 auto 10px;
  background: linear-gradient(180deg, #FFD700 0%, #ffb300 100%);
  color: #111;
  font-weight: bold;
  border: none;
  border-radius: 50px;
  padding: 14px 0;
  font-size: 18px;
  box-shadow: 0 0 12px rgba(255, 215, 0, 0.6);
  text-align: center;
  cursor: pointer;
  font-family: 'Noto Sans Lao','Kanit',sans-serif;
  transition: all 0.3s ease;
}
.signup-btn:hover {transform: scale(1.05);}

/* ສໄລດໂປຣ */
.promo-slider{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:18px}
.promo-frame{
  width:100%;
  border:2px solid var(--gold);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 0 25px rgba(255,215,0,.5);
  background:#0b0c10;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:6px;
}
.promo-slide{
  width:95vw;
  max-width:720px;
  height:auto;
  max-height:480px;
  object-fit:contain;
  border-radius:12px;
  transition:opacity .4s ease,transform .4s ease;
}
.promo-slide.fade-out{opacity:0;transform:scale(1.02)}
.dots{display:flex;gap:6px;justify-content:center}
.dot{width:7px;height:7px;border-radius:50%;background:#444;border:1px solid #777;transition:transform .2s ease,background .2s ease}
.dot.active{background:var(--gold);transform:scale(1.2)}

/* 💸 JR x Top — Premium Withdraw Notification (Fade Edition) */
#notifications {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  width: 100%;
  perspective: 800px;
}

/* 🪙 กล่องหลัก */
.notification {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 18px 22px;
  width: 100%;
  max-width: 620px;
  color: #f9f9f9;
  font-family: 'Kanit', 'Noto Sans Lao', sans-serif;
  background: radial-gradient(circle at 0% 0%, rgba(255,215,0,0.12), transparent 70%),
              linear-gradient(180deg, #0b0b0b 0%, #161616 100%);
  border: 1.5px solid rgba(255,215,0,0.3);
  border-radius: 16px;
  box-shadow:
    0 0 18px rgba(255,215,0,0.18),
    inset 0 0 16px rgba(255,215,0,0.08);
  backdrop-filter: blur(6px);
  opacity: 0;
  transform: translateY(20px) scale(0.97);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.notification.show {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.notification.hide {
  opacity: 0;
  transform: translateY(-20px) scale(0.96);
}

/* 🟡 เส้นทองขอบเรือง */
.notification::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  padding: 2px;
  background: linear-gradient(120deg,#ffeb80,#ffd700,#ffb300,#ffeb80);
  background-size: 200% 200%;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  -webkit-mask-composite: destination-out;
  animation: borderGlow 5s linear infinite;
  opacity: 0.3;
  pointer-events: none;
}
@keyframes borderGlow {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* 🏦 โลโก้ธนาคาร */
.bank-logo {
  width: 66px;
  height: 66px;
  border-radius: 14px;
  border: 1.5px solid rgba(255,215,0,0.7);
  background: rgba(255,215,0,0.06);
  padding: 6px;
  object-fit: contain;
  box-shadow: inset 0 0 10px rgba(255,215,0,0.15);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.notification:hover .bank-logo {
  transform: scale(1.08);
  box-shadow: 0 0 12px rgba(255,215,0,0.5);
}

/* 💬 เนื้อความ */
.notification div {
  font-size: 15.5px;
  line-height: 1.55;
}
.notification b {
  color: #ffe36e;
  font-weight: 600;
}
.highlight {
  color: #ffea91;
  font-weight: 700;
  font-size: 16px;
  text-shadow: 0 0 8px rgba(255,215,0,0.4);
}
.time {
  color: #999;
  font-size: 13.5px;
  margin-top: 2px;
}

/* 📱 Responsive */
@media (max-width: 480px) {
  .notification {
    padding: 12px 14px;
    gap: 12px;
    max-width: 92%;
  }
  .bank-logo {
    width: 54px;
    height: 54px;
  }
  .notification div {
    font-size: 14px;
  }
  .highlight {
    font-size: 15px;
  }
}

/* 💬 ວິຈານລູກຄ້າ — JR x Top Smooth Fade Edition */
#review-list {
  max-width: 650px;
  margin: 10px auto 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* กล่องรีวิว */
.review-box {
  background: #111;
  border: 1px solid gold;
  border-radius: 10px;
  padding: 12px 15px;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;

  /* 🔥 เอฟเฟกต์เข้า */
  opacity: 0;
  transform: translateY(15px);
  animation: fadeInUp 0.8s ease forwards;
  animation-delay: calc(var(--i, 0) * 0.12s);
  box-shadow: 0 0 12px rgba(255,215,0,0.1);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* เอฟเฟกต์ Hover */
.review-box:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 18px rgba(255,215,0,0.3);
}

/* รูปโปรไฟล์ลูกค้า */
.review-box img {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  border: 2px solid var(--gold);
  object-fit: cover;
  flex-shrink: 0;
  background-color: #222;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.review-box:hover img {
  transform: scale(1.08);
  box-shadow: 0 0 10px rgba(255,215,0,0.3);
}

/* ดาว */
.review-stars {
  color: gold;
}

/* ✨ Keyframe Animation */
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(25px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ✅ Review fade in/out */
.review-box.fade-in {
  opacity: 0;
  transform: translateY(18px);
  animation: rvIn .75s ease forwards;
}
.review-box.fade-out {
  opacity: 1;
  transform: translateY(0);
  animation: rvOut .75s ease forwards;
}
@keyframes rvIn {
  from { opacity:0; transform:translateY(18px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes rvOut {
  from { opacity:1; transform:translateY(0); }
  to   { opacity:0; transform:translateY(-14px); }
}


/* ເກມ */
.game-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.game-card{background:#0f1116;border:2px solid var(--gold);border-radius:12px;overflow:hidden;box-shadow:0 0 18px rgba(255,215,0,.35);transition:transform .25s ease,box-shadow .25s ease}
.game-card .img{width:100%;height:160px;object-fit:cover;display:block;transition:transform .25s ease}
.game-card:hover{transform:translateY(-4px);box-shadow:0 0 28px rgba(255,215,0,.7)}
.game-card:hover .img{transform:scale(1.05)}
.game-card .name{color:var(--gold);font-weight:700;padding:10px;text-align:center}

/* ✅ Popup สมัคร (เวอร์ชันแก้ไขล่าสุด JR x Top) */
.popup-overlay {
  display: flex;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 99999;
  opacity: 1;
  transition: opacity 0.3s ease;
}

/* ✅ ซ่อน popup ตอนยังไม่เปิด */
.popup-hidden {
  opacity: 0;
  pointer-events: none;
}

/* ✅ กล่อง popup */
.popup-box {
  background: #111;
  border: 2px solid var(--gold);
  border-radius: 14px;
  padding: 20px;
  width: 90%;
  max-width: 400px;
  box-shadow: 0 0 25px rgba(255, 215, 0, .6);
  transform: scale(0.96);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.popup-box h2 {
  text-align: center;
  color: var(--gold);
  margin-bottom: 10px;
}

.popup-box label {
  display: block;
  margin-top: 10px;
  font-weight: bold;
  color: #fff;
}

.popup-box input,
.popup-box select {
  width: 100%;
  padding: 10px;
  margin-top: 4px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 16px;
  background: #222;
  color: #fff;
}

/* ✅ ปุ่มใน popup */
.popup-btn {
  margin-top: 14px;
  width: 100%;
  padding: 12px;
  border: none;
  border-radius: 50px;
  background: linear-gradient(180deg, #FFD700 0%, #ffb300 100%);
  font-size: 18px;
  font-weight: bold;
  color: #000;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.popup-btn:hover {
  transform: scale(1.05);
}

/* ✅ ปุ่มปิด (x) */
.close-popup {
  position: absolute;
  top: 10px;
  right: 16px;
  font-size: 26px;
  cursor: pointer;
  color: #fff;
}

/* ✅ class ซ่อนในแต่ละ step */
.hidden {
  display: none;
}


/* ຟຸດເຕີ */
.ft{opacity:.7;font-size:.9rem;text-align:center;padding:18px 0;border-top:1px solid #17181c;margin-top:18px}

/* ✅ QR ธนาคารใน Popup */
.qr-image { width: 100%; max-width: 320px; height: auto; object-fit: contain; border-radius: 12px; border: 2px solid var(--gold); box-shadow: 0 0 20px rgba(255, 215, 0, 0.4); display: block; margin: 12px auto; background: #000; }

/* ✅ ปรับขนาด QR Deposit */
.qr-image { width: 100%; max-width: 320px; height: auto; display: block; margin: 0 auto 10px; border-radius: 10px; box-shadow: 0 0 8px rgba(255, 215, 0, 0.3); }
.popup-box { max-height: 90vh; overflow-y: auto; padding-bottom: 20px; }

/* ✅ Extra Stats */
.extra-stats { margin-top: 10px; }
.ticker { overflow: hidden; height: 26px; color: #FFD700; font-size: 15px; text-align: center; white-space: nowrap; animation: scrollText 15s linear infinite; }
@keyframes scrollText { 0% { transform: translateX(100%); } 100% { transform: translateX(-100%); } }

/* ✅ ผู้ชนะล่าสุด - วิ่งต่อเนื่องลื่น + เปลี่ยนชุดใหม่ทุก 3 นาที */
#winnerTicker {
  position: relative;
  width: 100%;
  overflow: hidden;
  height: 34px;
  line-height: 34px;
  color: #FFD700;
  font-weight: 600;
  font-size: 15px;
  white-space: nowrap;
  box-sizing: border-box;
  border-radius: 12px;
  background: rgba(255, 215, 0, 0.05);
  padding: 0 10px;
  text-align: left;
}

/* ✅ ตัวข้อความที่วิ่ง */
#winnerTicker .scroll-text {
  display: inline-block;
  white-space: nowrap;
  padding-left: 100%;
  animation: tickerLoop 40s linear infinite; /* ⚙️ ช้าลงครึ่งหนึ่ง */
  will-change: transform, opacity;
  transition: opacity 1.2s ease-in-out;
  opacity: 1;
}

/* ✅ แอนิเมชันวิ่งต่อเนื่อง */
@keyframes tickerLoop {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* ✅ เอฟเฟกต์ fade ตอนเปลี่ยนชุดข้อความ */
#winnerTicker.fade-out .scroll-text {
  opacity: 0;
}



/* ✅ Responsive สี่กล่องยอดรวม */
/* ========================== */
.stat-box {
  background: linear-gradient(180deg, rgba(255, 215, 0, 0.1), rgba(255, 215, 0, 0.03));
  border: 1px solid rgba(255, 215, 0, 0.5);
  border-radius: 16px;
  padding: 18px 12px;
  margin: 10px 0;
  text-align: center;
  color: #FFD700;
  box-shadow: 0 0 12px rgba(255, 215, 0, 0.15);
}

.stat-box strong {
  display: block;
  font-size: clamp(20px, 5vw, 38px); /* ✅ responsive ตัวเลขใหญ่ */
  font-weight: 800;
  text-shadow: 0 0 8px rgba(255, 215, 0, 0.8);
}

.stat-box p {
  margin: 4px 0 0;
  font-size: clamp(13px, 3.5vw, 18px); /* ✅ responsive คำอธิบาย */
  color: #FFD700;
  opacity: 0.85;
}

.stat-box small {
  display: block;
  margin-top: 4px;
  color: #00ffa3;
  font-size: clamp(12px, 3vw, 16px);
}

/* ✅ layout ปรับให้สมดุลในมือถือ */
@media (max-width: 768px) {
  .stat-box {
    padding: 14px 8px;
    border-radius: 12px;
  }
  .stat-box strong {
    font-size: clamp(22px, 6vw, 32px);
  }
}

@media (min-width: 1024px) {
  .stat-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto auto;
    row-gap: 16px;          /* ระยะห่างแนวตั้ง */
    column-gap: 0;          /* ✅ ชิดกันแบบต่อเนื่อง */
    justify-items: center;
    align-items: start;
  }

  /* กล่องซ้าย = ฝากวันนี้ */
  .stat-grid section:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
    border-top-right-radius: 0;  /* ✅ ลบมุมขวาให้ต่อเนื่อง */
    border-bottom-right-radius: 0;
  }

  /* กล่องขวา = ถอนเดือนนี้ */
  .stat-grid section:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
    border-top-left-radius: 0;   /* ✅ ลบมุมซ้ายให้ต่อเนื่อง */
    border-bottom-left-radius: 0;
    border-left: 0.5px solid rgba(255, 215, 0, 0.25); /* ✅ เส้นแบ่งกลางบางๆ */
  }

  /* กล่องล่าง = สมาชิกใหม่วันนี้ */
  .stat-grid section:nth-child(3) {
    grid-column: 1 / span 2; /* ครอบเต็ม 2 ช่อง */
    grid-row: 2;
    justify-self: center;
    width: clamp(280px, 38%, 420px);
    border-radius: 14px; /* ✅ มุมโค้งปกติ */
  }
}

/* ✅ Toast */
.toast {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(60px);
  background: rgba(0,0,0,0.9);
  color: #fff;
  padding: 12px 20px;
  border-radius: 14px;
  font-size: 15px;
  opacity: 0;
  transition: all 0.4s ease;
  z-index: 9999;
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.toast.success { background: #16a34a; }
.toast.warn { background: #fbbf24; color: #000; }
.toast.error { background: #ef4444; }

/* ✅ Fade / Zoom (Optimized by JR x Top 2025) */
.fade-in {
  animation: fadeIn 0.4s ease forwards;
}

.fade-out {
  animation: fadeOut 0.3s ease forwards;
}

/* ✅ Animation keyframes (ลื่น ไม่มีซูมซ้อน) */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}


/* ✅ Spinner */
#loadingOverlay {
  position: fixed;
  top:0; left:0;
  width:100%; height:100%;
  display:flex; justify-content:center; align-items:center;
  background:rgba(0,0,0,0.6);
  z-index:10000;
}
.spinner {
  width: 60px; height: 60px;
  border:5px solid rgba(255,255,255,0.2);
  border-top-color:#FFD700;
  border-radius:50%;
  animation: spin 1s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.dropdown {
  display: none;
}

.dropdown.show {
  display: block;
  pointer-events: auto;
  z-index: 9999;
}

.step { display: none; }
.step.active { display: block; }
.hidden { display: none; }

/* ✅ ซ่อน step */
.hidden {
  display: none !important;
}

/* ✅ เอฟเฟกต์เปลี่ยน step */
.fade-in {
  animation: fadeIn 0.4s ease;
}
.fade-out {
  animation: fadeOut 0.3s ease forwards;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeOut {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-10px); }
}

/* ✅ Toast Notification */
.toast {
  position: fixed;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  padding: 10px 18px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.85);
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  opacity: 0;
  pointer-events: none;
  z-index: 999999;
  transition: all 0.4s ease;
}
.toast.show {
  opacity: 1;
  bottom: 60px;
}
.toast.warn { background: #ffb300; color: #000; }
.toast.success { background: #28c76f; }
.toast.error { background: #e74c3c; }

/* ✅ Loading Spinner Overlay */
#loadingOverlay {
  position: fixed;
  inset: 0;
  display: none;
  justify-content: center;
  align-items: center;
  background: rgba(0,0,0,0.7);
  z-index: 99999;
}
.spinner {
  width: 50px;
  height: 50px;
  border: 5px solid rgba(255,255,255,0.2);
  border-top: 5px solid #FFD700;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
.qr-section {
  text-align: center;
  margin-bottom: 16px;
}

.qr-title {
  color: #FFD700;
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 6px;
  text-shadow: 0 0 8px rgba(255, 215, 0, 0.6);
}

.qr-preview {
  width: 180px;
  max-width: 85%;
  border-radius: 12px;
  box-shadow: 0 0 15px rgba(255,215,0,0.4);
  animation: qrGlow 2.5s ease-in-out infinite alternate;
}

@keyframes qrGlow {
  from { box-shadow: 0 0 8px rgba(255,215,0,0.2); }
  to { box-shadow: 0 0 20px rgba(255,215,0,0.8); }
}

.upload-controls {
  text-align: center;
  margin: 10px 0 14px;
}

.popup-btn.gold {
  background: linear-gradient(90deg, #FFD700, #ffb300);
  color: #000;
  font-weight: 600;
}

.popup-btn.silver {
  background: linear-gradient(90deg, #aaa, #ddd);
  color: #000;
  font-weight: 600;
}

.slip-preview {
  text-align: center;
  margin: 10px 0 14px;
}

.slip-img {
  width: 160px;
  max-width: 80%;
  border-radius: 10px;
  box-shadow: 0 0 15px rgba(255,215,0,0.25);
}

.hidden {
  display: none !important;
}
/* ✅ ป้องกันคลิกทะลุ popup (JR x Top Verified 2025) */
#signupPopup {
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  display: none; /* เริ่มต้นซ่อน */
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.75); /* ฉากดำโปร่ง */
  backdrop-filter: blur(4px);
  z-index: 9999; /* ✅ ครอบทุกปุ่มด้านหลัง */
  pointer-events: auto; /* ✅ รับคลิกเอง */
}

#signupPopup.active,
#signupPopup.show {
  display: flex !important;
}

/* ✅ กล่องด้านใน */
#signupPopup .popup-box {
  background: rgba(10, 10, 10, 0.95);
  border: 1px solid rgba(255,215,0,0.4);
  border-radius: 16px;
  padding: 24px 20px;
  max-width: 420px;
  width: 90%;
  box-shadow: 0 0 35px rgba(255,215,0,0.3);
  z-index: 10000; /* ✅ อยู่บนสุด */
  position: relative;
}
/* ✅ ล็อคการเลื่อนของหน้าเว็บเมื่อ popup เปิด */
body.popup-open {
  overflow: hidden;
  height: 100vh;
  touch-action: none; /* ป้องกัน scroll ในมือถือ */
}
/* ✅ ล็อคการเลื่อนเมื่อ popup เปิด */
body.popup-open,
html.popup-open {
  overflow: hidden !important;
  height: 100vh !important;
  position: fixed !important;
  width: 100%;
  touch-action: none !important;
}
/* ✅ JR x Top Fix — ล็อกไม่ให้เลื่อนซ้ายขวา */
html, body {
  overflow-x: hidden !important;
  width: 100%;
  max-width: 100%;
  position: relative;
}

/* ✅ กัน element ที่ทะลุขอบ viewport */
* {
  box-sizing: border-box;
  max-width: 100vw;
}

/* ✅ ส่วน promo รูปภาพ — ไม่ให้ทะลุ */
.promo-slide {
  width: 100% !important;
  max-width: 100%;
}

/* ✅ ปรับ flex หลักให้ไม่ดันออกข้าง */
body {
  display: block !important;
}

/* ✅ กัน scrollbar ซ้ายขวาที่เกิดจาก animation / glow */
.wrap, .promo-slider, .game-grid, #notifications, #winnerTicker {
  overflow-x: hidden !important;
}

/* ✅ กันการเลื่อนใน container พิเศษ (เฉพาะมือถือ) */
@media (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
    overscroll-behavior-x: none; /* ป้องกันลากแรงจน bounce */
  }
}

/* ===========================================================
🚀 JR x Top GPU Safe Boost Pack — Popup-Safe Edition (2025)
=========================================================== */

/* ✅ 1. ส่วนหลักที่เคลื่อนไหวบ่อย (ใช้ GPU render) */
.popup-overlay,
.popup-box,
.menu-btn,
.dropdown,
.gold-button,
.review-box,
.bank-logo,
.game-card,
#jackpotNumber,
#onlineNumber,
#notifications {
  will-change: transform, opacity;
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* ✅ 2. ปุ่ม / hover / เมนู / การเคลื่อนไหว ให้ GPU ช่วย */
button,
a,
.gold-button,
.menu-btn,
.blink {
  will-change: transform, opacity;
  transform: translateZ(0);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* ✅ 3. ปรับ animation ที่ใช้บ่อย ให้ใช้ GPU โดยตรง */
@keyframes fadeInSmooth {
  from { opacity: 0; transform: translate3d(0, 20px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes fadeOutSmooth {
  from { opacity: 1; transform: translate3d(0, 0, 0); }
  to   { opacity: 0; transform: translate3d(0, -15px, 0); }
}

/* ✅ 4. ปิดการ render ซ้ำของ layer ที่ไม่จำเป็น */
img, video, canvas {
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* ✅ 5. Scroll ลื่น */
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -webkit-overflow-scrolling: touch;
  transform: translateZ(0);
}

/* ✅ 6. Glow / Shadow ให้ GPU render */
.glow, .gold-button, .review-box, .game-card {
  will-change: box-shadow, transform, opacity;
  transform: translateZ(0);
}

/* ✅ 7. Safe-Contain Optimization (ไม่พัง popup) */
main,
section,
header,
footer,
.wrap,
.container {
  contain: layout paint style;
}

/* ===========================================================
🍔 JR x Top — Menu Layer Priority Fix (Bring to Top)
=========================================================== */

/* ตัวปุ่ม 3 ขีด */
.menu-btn {
  position: fixed !important;
  top: 16px;
  right: 18px;
  z-index: 999999 !important; /* สูงกว่า popup ทุกชั้น */
  cursor: pointer;
}

/* กล่องเมนู */
#dropdownMenu {
  position: fixed !important;
  top: 60px;
  right: 18px;
  background: rgba(15, 15, 15, 0.96);
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  border: 1px solid rgba(255, 215, 0, 0.25);
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.7);
  overflow: hidden;
  z-index: 999998 !important; /* ต่ำกว่าปุ่มนิดเดียว */
  display: none;
  flex-direction: column;
  min-width: 200px;
  animation: dropdownFade 0.25s ease-out;
}

/* แสดงตอนเปิด */
#dropdownMenu.show {
  display: flex;
}

/* ลิงก์ในเมนู */
#dropdownMenu a {
  color: #ffd700;
  font-weight: 500;
  text-decoration: none;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  transition: background 0.2s, color 0.2s;
}

#dropdownMenu a:hover {
  background: rgba(255, 215, 0, 0.1);
  color: #fff;
}

/* เอฟเฟกต์เปิดเมนูนุ่มๆ */
@keyframes dropdownFade {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 600px) {
  body { background-attachment: fixed; transition: none; }
}
