/* ========== RESET & BASE ========== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:#e2e8f0;background:#000;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{cursor:pointer;border:none;background:none;font-family:inherit}

/* ========== HEADER ========== */
.header{position:fixed;top:0;left:0;right:0;z-index:100;background:#0a0a0a;border-bottom:1px solid rgba(255,255,255,.08)}
.header-inner{max-width:1300px;margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{display:flex;align-items:center;gap:0;text-decoration:none}
.logo-icon{width:36px;height:36px;background:linear-gradient(135deg,#f5c518,#e6a800);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;color:#000;font-style:italic}
.logo-text{font-weight:900;font-size:20px;color:#f5c518;font-style:italic;letter-spacing:-0.5px;margin-left:4px}
.logo-img{height:44px;width:auto;object-fit:contain}
.header-actions{display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;border-radius:8px;font-weight:600;font-size:14px;transition:all .2s;white-space:nowrap;border:none;cursor:pointer}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25)}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-register{background:#f5c518;color:#000;font-weight:700;border:none}
.btn-register:hover{background:#e6b800;transform:translateY(-1px)}
.btn-block{width:100%;text-align:center}

/* ========== MAIN ========== */
.main{padding-top:60px;padding-bottom:70px}

/* ========== HERO SLIDER ========== */
.hero-slider{position:relative;max-width:1300px;margin:0 auto;padding:12px 16px 0;overflow:hidden}
.slider-container{position:relative;width:100%;border-radius:16px;overflow:hidden;aspect-ratio:16/7;min-height:280px}
.slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .6s ease;border-radius:16px;overflow:hidden}
.slide.active{opacity:1;z-index:1}
.slide-content{position:relative;z-index:2;text-align:center;padding:20px;max-width:700px}
.slide-badge{display:inline-block;padding:5px 16px;background:rgba(255,255,255,.15);border-radius:100px;font-size:11px;font-weight:700;color:#fff;letter-spacing:1px;margin-bottom:12px;backdrop-filter:blur(4px)}
.slide-title{font-size:clamp(32px,7vw,72px);font-weight:900;color:#fff;line-height:1;text-transform:uppercase;text-shadow:0 4px 20px rgba(0,0,0,.4)}
.slide-title span{color:#f5c518;display:block}
.slide-subtitle{font-size:clamp(24px,5vw,52px);font-weight:900;color:#fff;line-height:1;text-transform:uppercase;text-shadow:0 4px 20px rgba(0,0,0,.4);margin-top:4px}
.slide-subtitle span{color:#f5c518}
.slide-desc{font-size:clamp(11px,1.5vw,14px);color:rgba(255,255,255,.9);margin-top:12px;line-height:1.5;text-transform:uppercase;letter-spacing:.5px}
.slide-cta{display:inline-block;margin-top:16px;padding:10px 28px;background:linear-gradient(135deg,#f5c518,#e6a800);color:#000;font-weight:800;font-size:13px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px}
.slider-nav{display:flex;justify-content:center;gap:8px;padding:14px 0}
.slider-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.25);border:none;cursor:pointer;transition:all .3s}
.slider-dot.active{background:#f5c518;width:28px;border-radius:5px}

/* Slide decorations */
.slide-decor{position:absolute;inset:0;pointer-events:none}
.coin{position:absolute;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffe066,#f5c518,#c8960c);box-shadow:0 4px 15px rgba(245,197,24,.4)}
.coin-1{width:60px;height:60px;top:15%;right:18%;animation:coinFloat 4s ease-in-out infinite}
.coin-2{width:40px;height:40px;bottom:25%;right:12%;animation:coinFloat 4s ease-in-out infinite .8s}
.coin-3{width:50px;height:50px;bottom:20%;left:15%;animation:coinFloat 4s ease-in-out infinite 1.6s}
@keyframes coinFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-15px) rotate(15deg)}}

.char{position:absolute;width:120px;height:200px;border-radius:12px}
.char-left{left:5%;bottom:0;background:linear-gradient(180deg,transparent,rgba(139,117,0,.3))}
.char-right{right:5%;bottom:0;background:linear-gradient(180deg,transparent,rgba(139,117,0,.3))}

/* ========== ANNOUNCEMENT BAR ========== */
.announcement-bar{max-width:1300px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.06)}
.announcement-icon{flex-shrink:0;color:#f5c518;display:flex;align-items:center}
.announcement-scroll{overflow:hidden;flex:1}
.announcement-text{white-space:nowrap;font-size:13px;color:#ccc;animation:scrollText 12s linear infinite}
@keyframes scrollText{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}

/* ========== GAME CATEGORIES ========== */
.game-categories{max-width:1300px;margin:0 auto;padding:16px}
.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.game-card{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3;display:flex;align-items:flex-end;justify-content:center;padding:20px 16px;cursor:pointer;transition:transform .3s}
.game-card:hover{transform:scale(1.02)}
.game-card-bg{position:absolute;inset:0}
.game-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.game-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.7) 100%)}
.game-card-title{position:relative;z-index:2;font-size:clamp(18px,2.5vw,28px);font-weight:900;color:#fff;text-transform:uppercase;text-shadow:0 3px 12px rgba(0,0,0,.6);text-align:center;line-height:1.15}

/* Game card backgrounds */
.game-card.slot .game-card-bg{background:linear-gradient(135deg,#ff6b35 0%,#d63384 30%,#6f42c1 60%,#4a90d9 100%)}
.game-card.slot .game-card-bg::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='20' cy='20' r='8' fill='rgba(255,255,255,0.08)'/%3E%3C/svg%3E");opacity:.5}

.game-card.togel .game-card-bg{background:linear-gradient(135deg,#dc3545 0%,#e74c3c 30%,#f39c12 60%,#e67e22 100%)}
.game-card.togel .game-card-bg::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='12' y='12' width='16' height='16' rx='2' fill='rgba(255,255,255,0.08)'/%3E%3C/svg%3E");opacity:.5}

.game-card.casino .game-card-bg{background:linear-gradient(135deg,#e91e63 0%,#9c27b0 30%,#673ab7 60%,#3f51b5 100%)}
.game-card.casino .game-card-bg::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='20,8 32,32 8,32' fill='rgba(255,255,255,0.06)'/%3E%3C/svg%3E");opacity:.5}

.game-card.sabung .game-card-bg{background:linear-gradient(135deg,#ff4500 0%,#ff6347 30%,#ff8c00 60%,#ffa500 100%)}
.game-card.sabung .game-card-bg::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 8 L32 32 L8 32 Z' fill='rgba(255,255,255,0.06)'/%3E%3C/svg%3E");opacity:.5}

.game-card.sport .game-card-bg{background:linear-gradient(135deg,#00b4d8 0%,#0096c7 30%,#023e8a 60%,#03045e 100%)}
.game-card.sport .game-card-bg::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='20' cy='20' r='10' fill='rgba(255,255,255,0.06)'/%3E%3C/svg%3E");opacity:.5}

.game-card.arcade .game-card-bg{background:linear-gradient(135deg,#00c853 0%,#2e7d32 30%,#1b5e20 60%,#004d40 100%)}
.game-card.arcade .game-card-bg::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='10' y='10' width='20' height='20' rx='10' fill='rgba(255,255,255,0.06)'/%3E%3C/svg%3E");opacity:.5}

/* ========== DESCRIPTION SECTION ========== */
.desc-section{max-width:1300px;margin:0 auto;padding:24px 16px}
.desc-container{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:30px 24px;text-align:center}
.desc-title{font-size:18px;font-weight:700;color:#f5c518;margin-bottom:12px;line-height:1.4}
.desc-text{font-size:14px;color:#999;line-height:1.8;max-width:900px;margin:0 auto;transition:all .3s}
.desc-text.collapsed{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.btn-showmore{margin-top:16px;padding:10px 28px;background:transparent;color:#f5c518;border:1.5px solid #f5c518;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}
.btn-showmore:hover{background:rgba(245,197,24,.1)}

/* ========== PAYMENT SECTION ========== */
.payment-section{max-width:1300px;margin:0 auto;padding:24px 16px}
.payment-container{text-align:center}
.payment-divider{height:1px;background:rgba(255,255,255,.1);margin:16px 0}
.payment-logos{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;padding:16px 0}
.payment-item{display:flex;align-items:center;justify-content:center}
.payment-name{font-size:15px;font-weight:700;color:#888;letter-spacing:1px;text-transform:uppercase}

/* ========== FOOTER ========== */
.footer{max-width:1300px;margin:0 auto;padding:20px 16px;text-align:center}
.footer-text{font-size:12px;color:#555;line-height:1.6}

/* ========== FLOATING SIDEBAR ========== */
.floating-sidebar{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;gap:0}
.float-btn{display:flex;align-items:center;justify-content:center;width:54px;height:64px;text-align:center;font-size:10px;font-weight:800;color:#fff;text-transform:uppercase;line-height:1.2;transition:all .2s}
.float-nobar{background:linear-gradient(180deg,#e74c3c,#c0392b);border-radius:0 8px 8px 0}
.float-rtp{background:linear-gradient(180deg,#f5c518,#e6a800);color:#000;border-radius:0 8px 8px 0}
.float-btn:hover{width:60px}
.float-btn span{display:block}

/* ========== BOTTOM NAVIGATION (Mobile) ========== */
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:100;background:#0a0a0a;border-top:1px solid rgba(255,255,255,.08);padding:6px 0 max(6px,env(safe-area-inset-bottom))}
.bottom-nav{display:none;grid-template-columns:repeat(5,1fr);text-align:center}
.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;color:#666;font-size:10px;font-weight:500;transition:color .2s}
.bottom-nav-item svg{stroke:#666;transition:stroke .2s}
.bottom-nav-item.active,.bottom-nav-item.active svg{color:#f5c518;stroke:#f5c518}
.bottom-nav-item span{margin-top:2px}

/* ========== MOBILE MENU ========== */
.mobile-menu-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.7);opacity:0;pointer-events:none;transition:opacity .3s}
.mobile-menu-overlay.active{opacity:1;pointer-events:all}
.mobile-menu{position:absolute;left:0;top:0;bottom:0;width:280px;background:#0f0f0f;transform:translateX(-100%);transition:transform .3s;display:flex;flex-direction:column}
.mobile-menu-overlay.active .mobile-menu{transform:translateX(0)}
.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.08)}
.mobile-menu-close{font-size:28px;color:#888;width:40px;height:40px;display:flex;align-items:center;justify-content:center}
.mobile-menu-body{flex:1;overflow-y:auto;padding:12px 0}
.mobile-menu-link{display:block;padding:12px 20px;font-size:15px;color:#ccc;transition:all .2s}
.mobile-menu-link:hover{background:rgba(245,197,24,.08);color:#f5c518;padding-left:28px}
.mobile-menu-footer{padding:16px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:10px}

/* ========== RESPONSIVE ========== */
@media(max-width:1024px){
  .floating-sidebar{display:none}
}

@media(max-width:768px){
  .header-inner{height:56px;padding:0 12px}
  .logo-img{height:36px}
  .btn{padding:8px 18px;font-size:13px}
  .main{padding-top:56px;padding-bottom:68px}

  .hero-slider{padding:10px 12px 0}
  .slider-container{aspect-ratio:16/9;min-height:200px;border-radius:14px}
  .slide-title{font-size:clamp(26px,8vw,48px)}
  .slide-subtitle{font-size:clamp(20px,6vw,36px)}
  .slide-desc{font-size:11px}
  .slide-cta{padding:8px 20px;font-size:11px}

  .game-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .game-card{aspect-ratio:1/1;border-radius:14px;padding:14px 10px}
  .game-card-title{font-size:clamp(16px,4vw,22px)}

  .bottom-nav{display:grid!important}

  .desc-container{padding:20px 16px}
  .desc-title{font-size:15px}

  .payment-logos{gap:16px}
  .payment-name{font-size:12px}

  .announcement-bar{padding:8px 12px}
  .announcement-text{font-size:12px}
}

@media(max-width:480px){
  .game-grid{gap:8px}
  .game-card{padding:12px 8px}
  .game-card-title{font-size:clamp(14px,4vw,18px)}

  .slide-title{font-size:clamp(22px,9vw,40px)}
  .slide-subtitle{font-size:clamp(18px,7vw,30px)}
  .slide-desc{font-size:10px;display:none}

  .payment-logos{gap:12px}
  .payment-name{font-size:11px}

  .slider-container{aspect-ratio:16/10;min-height:180px}
}
