/* =========================================================
   Good88 Casino - Core Base Stylesheet (mobile-first)
   Prefix: s990- | Language: vi-VN
   Palette: #212F3D | #00BFFF | #4682B4 | #004D40 | #999999 | #87CEEB
   ========================================================= */

:root{
  --s990-bg:#212F3D;
  --s990-bg-soft:#1a2433;
  --s990-bg-card:#22324456;
  --s990-primary:#00BFFF;
  --s990-secondary:#4682B4;
  --s990-teal:#004D40;
  --s990-text:#EAF6FF;
  --s990-text-soft:#87CEEB;
  --s990-muted:#999999;
  --s990-line:rgba(135,206,235,.18);
  --s990-gold:#FFD36E;
  --s990-radius:14px;
  --s990-shadow:0 8px 22px rgba(0,0,0,.35);
}

*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{font-size:62.5%;scroll-behavior:smooth;}
body{
  font-family:"Segoe UI","Noto Sans",Roboto,system-ui,sans-serif;
  background:linear-gradient(180deg,#1a2433 0%,#212F3D 45%,#0f1822 100%);
  color:var(--s990-text);
  line-height:1.5;
  font-size:1.5rem;
  max-width:430px;
  margin:0 auto;
  min-height:100vh;
  overflow-x:hidden;
}
a{color:var(--s990-primary);text-decoration:none;}
img{max-width:100%;display:block;}

/* ---------- Layout ---------- */
.s990-container{width:100%;max-width:430px;margin:0 auto;padding:0 14px;}
.s990-wrapper{padding:18px 14px;}
.s990-section{margin:26px 0;}
.s990-section-title{
  font-size:2rem;font-weight:800;color:#fff;margin-bottom:12px;
  display:flex;align-items:center;gap:8px;
}
.s990-section-title::before{
  content:"";width:5px;height:22px;border-radius:3px;
  background:linear-gradient(180deg,#00BFFF,#4682B4);
}
.s990-pill{
  display:inline-block;font-size:1.2rem;color:var(--s990-text-soft);
  background:rgba(0,191,255,.12);padding:3px 10px;border-radius:20px;margin-left:6px;
}

/* ---------- Header ---------- */
.s990-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(15,24,34,.96);
  border-bottom:1px solid var(--s990-line);
  backdrop-filter:blur(10px);
}
.s990-header-inner{
  max-width:430px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;
  padding:9px 14px;gap:10px;
}
.s990-brand{display:flex;align-items:center;gap:9px;min-width:0;}
.s990-logo{
  width:32px;height:32px;border-radius:8px;object-fit:cover;
  border:1.5px solid var(--s990-primary);
}
.s990-brand-name{font-size:1.7rem;font-weight:800;color:#fff;letter-spacing:.3px;line-height:1.1;}
.s990-brand-name span{color:var(--s990-primary);}
.s990-brand-tag{font-size:1.05rem;color:var(--s990-text-soft);}
.s990-head-actions{display:flex;align-items:center;gap:7px;}
.s990-btn{
  border:none;cursor:pointer;font-weight:700;border-radius:22px;
  padding:8px 16px;font-size:1.3rem;transition:transform .15s,box-shadow .15s;
}
.s990-btn:active{transform:scale(.95);}
.s990-btn-login{
  background:transparent;color:var(--s990-text-soft);
  border:1.5px solid var(--s990-secondary);
}
.s990-btn-register{
  background:linear-gradient(90deg,#00BFFF,#4682B4);
  color:#04121d;box-shadow:0 4px 12px rgba(0,191,255,.35);
}
.s990-menu-toggle{
  background:transparent;border:none;color:#fff;font-size:2rem;cursor:pointer;
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
}

/* ---------- Mobile Dropdown Menu ---------- */
.s990-mobile-menu{
  position:fixed;top:0;right:-100%;width:84%;max-width:360px;height:100vh;
  background:linear-gradient(180deg,#16202d,#0f1822);z-index:9999;
  padding:20px 18px;overflow-y:auto;transition:right .28s ease;
  border-left:1px solid var(--s990-line);box-shadow:var(--s990-shadow);
}
.s990-mobile-menu.s990-open{right:0;}
.s990-menu-head{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;
  padding-bottom:12px;border-bottom:1px solid var(--s990-line);
}
.s990-menu-head h3{font-size:1.8rem;color:#fff;}
.s990-menu-close{background:none;border:none;color:#fff;font-size:2.4rem;line-height:1;cursor:pointer;}
.s990-menu-section-label{
  font-size:1.15rem;color:var(--s990-text-soft);text-transform:uppercase;
  letter-spacing:.6px;margin:14px 0 8px;
}
.s990-menu-link{
  display:block;padding:11px 12px;font-size:1.4rem;color:#dfeefb;
  border-radius:10px;margin-bottom:4px;
}
.s990-menu-link:active{background:rgba(0,191,255,.12);}
.s990-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9998;
  display:none;
}
.s990-overlay.s990-open{display:block;}

/* ---------- Main padding for fixed header ---------- */
.s990-main{padding-top:62px;}
@media(max-width:768px){.s990-main{padding-bottom:80px;}}

/* ---------- Hero / Carousel ---------- */
.s990-hero{padding:14px 0 4px;}
.s990-carousel{
  position:relative;border-radius:var(--s990-radius);overflow:hidden;
  box-shadow:var(--s990-shadow);border:1px solid var(--s990-line);
}
.s990-carousel-track{display:flex;scroll-snap-type:x mandatory;overflow-x:auto;scroll-behavior:smooth;}
.s990-carousel-track::-webkit-scrollbar{display:none;}
.s990-carousel-slide{min-width:100%;scroll-snap-align:start;position:relative;}
.s990-carousel-slide img{width:100%;height:200px;object-fit:cover;}
.s990-carousel-cap{
  position:absolute;left:14px;bottom:12px;right:14px;
  text-shadow:0 2px 6px rgba(0,0,0,.7);
}
.s990-carousel-cap h2{font-size:2.1rem;color:#fff;font-weight:800;}
.s990-carousel-cap p{font-size:1.25rem;color:var(--s990-text-soft);}
.s990-carousel-dots{
  position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  display:flex;gap:6px;
}
.s990-carousel-dots span{
  width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45);
}
.s990-carousel-dots span.s990-active{background:var(--s990-primary);}

/* ---------- Promo banner CTA ---------- */
.s990-cta-bar{
  display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;
}
.s990-cta-bar .s990-btn{flex:1;min-width:120px;padding:10px;}

/* ---------- H1 ---------- */
.s990-h1{
  font-size:2.2rem;line-height:1.35;font-weight:800;color:#fff;margin:14px 0 4px;
}
.s990-sub{font-size:1.3rem;color:var(--s990-muted);margin-bottom:8px;}

/* ---------- Category filter chips ---------- */
.s990-chips{display:flex;gap:8px;overflow-x:auto;padding:6px 0 12px;}
.s990-chips::-webkit-scrollbar{display:none;}
.s990-chip{
  flex:0 0 auto;padding:7px 14px;border-radius:18px;font-size:1.25rem;
  background:rgba(70,130,180,.18);color:var(--s990-text-soft);cursor:pointer;
  border:1px solid var(--s990-line);
}
.s990-chip.s990-active{background:var(--s990-primary);color:#04121d;font-weight:700;}

/* ---------- Game grid ---------- */
.s990-cat-block{margin-bottom:26px;}
.s990-cat-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.s990-cat-head h2{font-size:1.8rem;font-weight:800;color:#fff;display:flex;align-items:center;gap:7px;}
.s990-cat-head .s990-cat-ico{color:var(--s990-primary);font-size:2.2rem;}
.s990-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
}
.s990-card{
  background:var(--s990-bg-card);border:1px solid var(--s990-line);
  border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .15s;
  display:flex;flex-direction:column;
}
.s990-card:active{transform:scale(.96);}
.s990-card-img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#0e1722;}
.s990-card-name{
  font-size:1.12rem;color:var(--s990-text);text-align:center;
  padding:6px 4px 8px;line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.s990-card-hot{
  position:absolute;top:6px;right:6px;font-size:1rem;
  background:linear-gradient(90deg,#ff5e62,#ff9966);color:#fff;
  padding:1px 8px;border-radius:10px;font-weight:700;
}
.s990-card-wrap{position:relative;}

/* ---------- Info / content cards ---------- */
.s990-info-card{
  background:var(--s990-bg-card);border:1px solid var(--s990-line);
  border-radius:var(--s990-radius);padding:16px;margin-bottom:14px;
}
.s990-info-card h2{font-size:1.85rem;color:#fff;margin-bottom:8px;font-weight:800;}
.s990-info-card h3{font-size:1.55rem;color:var(--s990-text-soft);margin:10px 0 6px;}
.s990-info-card p{font-size:1.35rem;color:#cfe6f5;margin-bottom:8px;}
.s990-info-card ul{padding-left:18px;margin:6px 0;}
.s990-info-card li{font-size:1.3rem;color:#bcd6e8;margin-bottom:5px;}

/* ---------- Steps ---------- */
.s990-steps{counter-reset:s;display:flex;flex-direction:column;gap:10px;}
.s990-step{
  display:flex;gap:12px;align-items:flex-start;background:var(--s990-bg-card);
  padding:12px;border-radius:12px;border:1px solid var(--s990-line);
}
.s990-step-num{
  flex:0 0 32px;width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg,#00BFFF,#4682B4);color:#04121d;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.4rem;
}
.s990-step p{font-size:1.3rem;color:#dbeeff;margin:0;}

/* ---------- Feature grid ---------- */
.s990-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.s990-feature{
  background:var(--s990-bg-card);border:1px solid var(--s990-line);
  border-radius:12px;padding:14px 12px;text-align:center;
}
.s990-feature .material-icons,.s990-feature i{font-size:2.6rem;color:var(--s990-primary);margin-bottom:6px;}
.s990-feature h3{font-size:1.4rem;color:#fff;margin-bottom:4px;}
.s990-feature p{font-size:1.2rem;color:var(--s990-muted);}

/* ---------- Testimonials ---------- */
.s990-testi{display:flex;flex-direction:column;gap:10px;}
.s990-testi-item{
  background:var(--s990-bg-card);border-left:3px solid var(--s990-primary);
  padding:12px;border-radius:10px;
}
.s990-testi-item .s990-stars{color:var(--s990-gold);font-size:1.3rem;margin-bottom:4px;}
.s990-testi-item p{font-size:1.3rem;color:#dbeeff;margin-bottom:6px;}
.s990-testi-item .s990-author{font-size:1.15rem;color:var(--s990-text-soft);}

/* ---------- Payment ---------- */
.s990-pay{display:flex;flex-wrap:wrap;gap:8px;}
.s990-pay span{
  background:rgba(0,77,64,.35);border:1px solid var(--s990-line);
  padding:7px 12px;border-radius:8px;font-size:1.2rem;color:#cfe6f5;
}

/* ---------- Promo inline text link ---------- */
.s990-promo-link{
  color:var(--s990-primary);font-weight:700;cursor:pointer;
  border-bottom:1.5px dashed var(--s990-primary);
}

/* ---------- Footer ---------- */
.s990-footer{
  background:#0f1822;border-top:1px solid var(--s990-line);
  padding:22px 14px 30px;margin-top:24px;
}
.s990-footer-brand{font-size:1.8rem;font-weight:800;color:#fff;margin-bottom:6px;}
.s990-footer-brand span{color:var(--s990-primary);}
.s990-footer-desc{font-size:1.25rem;color:var(--s990-muted);margin-bottom:14px;}
.s990-footer-cta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.s990-footer-cta .s990-btn{flex:1;min-width:120px;}
.s990-footer-links{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.s990-footer-links a{font-size:1.25rem;color:var(--s990-text-soft);}
.s990-footer-links a:hover{color:var(--s990-primary);}
.s990-copy{text-align:center;font-size:1.1rem;color:var(--s990-muted);border-top:1px solid var(--s990-line);padding-top:14px;}

/* ---------- Mobile Bottom Nav ---------- */
.s990-bottom-nav{
  position:fixed;bottom:0;left:0;right:0;z-index:1000;
  background:rgba(15,24,34,.98);
  border-top:1px solid var(--s990-line);
  backdrop-filter:blur(10px);
}
.s990-bottom-nav-inner{
  max-width:430px;margin:0 auto;display:flex;justify-content:space-around;align-items:center;
  height:62px;
}
.s990-nav-btn{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:none;border:none;color:var(--s990-muted);cursor:pointer;
  min-width:60px;min-height:60px;gap:2px;transition:color .18s,transform .18s;
}
.s990-nav-btn:active{transform:scale(.92);}
.s990-nav-btn i,.s990-nav-btn .material-icons{font-size:2.2rem;}
.s990-nav-btn span{font-size:1.05rem;}
.s990-nav-btn.s990-active{color:var(--s990-primary);}
.s990-nav-btn.s990-promo{color:var(--s990-gold);}

/* ---------- Desktop: hide bottom nav ---------- */
@media(min-width:769px){
  .s990-bottom-nav{display:none;}
}

/* ---------- Winners ticker ---------- */
.s990-winners{
  background:linear-gradient(90deg,rgba(0,191,255,.14),rgba(70,130,180,.14));
  border:1px solid var(--s990-line);border-radius:12px;padding:10px 12px;
  overflow:hidden;white-space:nowrap;margin-bottom:14px;
}
.s990-winners span{font-size:1.2rem;color:var(--s990-text-soft);margin-right:24px;}
.s990-winners b{color:var(--s990-gold);}

/* ---------- Achievement list ---------- */
.s990-achieve{display:flex;flex-direction:column;gap:8px;}
.s990-achieve li{
  list-style:none;background:var(--s990-bg-card);padding:10px 12px;border-radius:10px;
  font-size:1.25rem;color:#cfe6f5;border:1px solid var(--s990-line);
}
.s990-achieve li i{color:var(--s990-gold);margin-right:6px;}
