/* =====================================================
   p789.homes - Core Stylesheet (CSS prefix: g295-)
   Palette: #2E4057 | #FF8C00 | #B2DFDB
   Mobile-first, Vietnamese casino landing page
   ===================================================== */

:root{
  --g295-primary:#2E4057;      /* deep slate blue - background base */
  --g295-accent:#FF8C00;       /* vivid orange - CTA / brand */
  --g295-soft:#B2DFDB;         /* light teal - text accents */
  --g295-bg:#1b2a3a;           /* darker shade of primary */
  --g295-bg2:#243a52;
  --g295-text:#EAF6F4;
  --g295-muted:#9fb6c4;
  --g295-card:#243a52;
  --g295-border:rgba(178,223,219,0.18);
  --g295-shadow:0 8px 24px rgba(0,0,0,0.35);
  --g295-radius:14px;
  --g295-radius-sm:9px;
}

*{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','Roboto','Noto Sans',system-ui,sans-serif;
  background:linear-gradient(160deg,var(--g295-bg) 0%,var(--g295-primary) 100%);
  color:var(--g295-text);
  line-height:1.5rem;
  font-size:1.5rem;
  max-width:430px;
  margin:0 auto;
  overflow-x:hidden;
  min-height:100vh;
}
img{max-width:100%;display:block;}
a{color:var(--g295-soft);text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;}

/* ---------- Layout ---------- */
.g295-wrapper{width:100%;max-width:430px;margin:0 auto;position:relative;}
.g295-container{padding:1.2rem 1.4rem;}
.g295-section{padding:1.6rem 1.4rem;}
.g295-section-title{
  font-size:1.9rem;font-weight:800;color:#fff;
  margin-bottom:0.8rem;display:flex;align-items:center;gap:0.6rem;
  border-left:4px solid var(--g295-accent);padding-left:0.8rem;
}
.g295-section-title .g295-hl{color:var(--g295-accent);}

/* ---------- Header ---------- */
.g295-header{
  position:fixed;top:0;left:50%;transform:translateX(-50%);
  width:100%;max-width:430px;z-index:1000;
  background:rgba(27,42,58,0.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--g295-border);
  display:flex;align-items:center;justify-content:space-between;
  padding:0.7rem 1rem;
}
.g295-brand{display:flex;align-items:center;gap:0.6rem;}
.g295-brand img{width:30px;height:30px;border-radius:8px;}
.g295-brand b{font-size:1.6rem;color:#fff;font-weight:800;letter-spacing:.4px;}
.g295-brand span{color:var(--g295-accent);}
.g295-header-actions{display:flex;align-items:center;gap:0.5rem;}
.g295-menu-btn{
  background:transparent;color:var(--g295-soft);
  font-size:2.1rem;width:38px;height:38px;display:grid;place-items:center;
  border-radius:8px;
}
.g295-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;
  padding:0.7rem 1.2rem;border-radius:24px;font-weight:700;font-size:1.3rem;
  transition:transform .15s ease, box-shadow .15s ease;
  min-height:38px;line-height:1;
}
.g295-btn:active{transform:scale(.95);}
.g295-btn-primary{background:var(--g295-accent);color:#1b2a3a;box-shadow:0 4px 12px rgba(255,140,0,0.35);}
.g295-btn-ghost{background:transparent;color:var(--g295-soft);border:1px solid var(--g295-border);}
.g295-btn-block{width:100%;padding:1rem;font-size:1.45rem;}
.g295-text-link{color:var(--g295-accent);font-weight:700;text-decoration:underline;text-underline-offset:3px;}

/* ---------- Mobile Slide Menu ---------- */
.g295-menu-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.55);
  z-index:9998;opacity:0;visibility:hidden;transition:opacity .25s ease;
  max-width:430px;margin:0 auto;
}
.g295-menu-overlay.g295-open{opacity:1;visibility:visible;}
.g295-mobile-menu{
  position:fixed;top:0;right:0;height:100vh;width:80%;max-width:330px;
  background:linear-gradient(180deg,#1b2a3a,#243a52);
  z-index:9999;transform:translateX(100%);transition:transform .3s ease;
  padding:5rem 1.4rem 2rem;overflow-y:auto;
}
.g299-mobile-menu-open{}
.g295-mobile-menu.g295-open{transform:translateX(0);}
.g295-mobile-menu .g295-menu-close{
  position:absolute;top:1rem;right:1rem;background:transparent;color:#fff;
  font-size:2.2rem;width:40px;height:40px;border-radius:10px;
}
.g295-mobile-menu h4{font-size:1.3rem;color:var(--g295-soft);margin:1.2rem 0 .5rem;text-transform:uppercase;letter-spacing:.5px;}
.g295-mobile-menu a{
  display:block;padding:0.85rem 0.6rem;font-size:1.45rem;color:#fff;
  border-bottom:1px solid var(--g295-border);
}
.g295-mobile-menu a:active{background:rgba(255,140,0,0.12);}

/* ---------- Hero Carousel ---------- */
.g295-hero{margin-top:62px;}
.g295-carousel{position:relative;overflow:hidden;border-radius:0 0 18px 18px;}
.g295-carousel-track{display:flex;transition:transform .45s ease;}
.g295-slide{min-width:100%;position:relative;}
.g295-slide img{width:100%;height:200px;object-fit:cover;}
.g295-slide a{display:block;}
.g295-slide-cap{
  position:absolute;left:1rem;bottom:1rem;right:1rem;
  background:rgba(27,42,58,0.78);padding:0.7rem 0.9rem;border-radius:10px;
}
.g295-slide-cap b{color:var(--g295-accent);font-size:1.35rem;}
.g295-slide-cap p{font-size:1.2rem;color:#fff;}
.g295-dots{display:flex;justify-content:center;gap:0.5rem;padding:0.7rem;}
.g295-dots span{
  width:8px;height:8px;border-radius:50%;background:rgba(178,223,219,0.35);
  cursor:pointer;transition:background .2s;
}
.g295-dots span.g295-active{background:var(--g295-accent);width:22px;border-radius:6px;}

/* ---------- Headings ---------- */
.g295-h1{
  font-size:2.2rem;font-weight:800;color:#fff;line-height:1.25;
  margin:0.4rem 0 0.6rem;
}
.g295-h1 span{color:var(--g295-accent);}
.g295-lead{font-size:1.4rem;color:var(--g295-muted);margin-bottom:1rem;}
.g295-h2{
  font-size:1.8rem;font-weight:800;color:#fff;margin-bottom:0.7rem;
  display:flex;align-items:center;gap:0.5rem;
}
.g295-h2 i{color:var(--g295-accent);}
.g295-h3{font-size:1.5rem;font-weight:700;color:var(--g295-soft);margin:0.8rem 0 0.4rem;}

/* ---------- Game Grid ---------- */
.g295-game-block{margin-bottom:1.4rem;}
.g295-cat-head{
  display:flex;align-items:center;justify-content:space-between;
  margin:0.6rem 0 0.8rem;
}
.g295-cat-head h3{
  font-size:1.55rem;font-weight:800;color:#fff;
  display:flex;align-items:center;gap:0.5rem;
}
.g295-cat-head .g295-cat-tag{
  background:var(--g295-accent);color:#1b2a3a;
  padding:0.25rem 0.7rem;border-radius:20px;font-size:1.1rem;font-weight:700;
}
.g295-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0.7rem;
}
.g295-card{
  background:var(--g295-card);border:1px solid var(--g295-border);
  border-radius:var(--g295-radius-sm);overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease;
  display:block;
}
.g295-card:active{transform:scale(.96);box-shadow:var(--g295-shadow);}
.g295-card-img{
  position:relative;aspect-ratio:1/1;overflow:hidden;background:#0e1a26;
}
.g295-card-img img{width:100%;height:100%;object-fit:cover;}
.g295-card-name{
  padding:0.5rem 0.5rem 0.6rem;font-size:1.15rem;font-weight:600;
  color:#fff;text-align:center;line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.g295-hot-badge{
  position:absolute;top:4px;left:4px;background:var(--g295-accent);
  color:#1b2a3a;font-size:0.95rem;font-weight:800;padding:0.1rem 0.4rem;border-radius:6px;
}

/* ---------- Feature / Info cards ---------- */
.g295-card-soft{
  background:var(--g295-card);border:1px solid var(--g295-border);
  border-radius:var(--g295-radius);padding:1.2rem;margin-bottom:0.9rem;
}
.g295-card-soft h3{color:var(--g295-accent);font-size:1.4rem;margin-bottom:0.4rem;}
.g295-card-soft p{font-size:1.3rem;color:var(--g295-text);}
.g295-feature-row{display:flex;gap:0.7rem;align-items:flex-start;margin-bottom:0.8rem;}
.g295-feature-row i{
  flex:0 0 36px;width:36px;height:36px;border-radius:10px;
  background:rgba(255,140,0,0.18);color:var(--g295-accent);
  display:grid;place-items:center;font-size:1.7rem;
}
.g295-feature-row .g295-ft-text b{color:#fff;font-size:1.35rem;}
.g295-feature-row .g295-ft-text p{color:var(--g295-muted);font-size:1.2rem;}

/* ---------- RTP / Stats ---------- */
.g295-rtp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.7rem;}
.g295-rtp-item{
  background:var(--g295-card);border:1px solid var(--g295-border);
  border-radius:var(--g295-radius-sm);padding:0.9rem;text-align:center;
}
.g295-rtp-item b{display:block;font-size:1.9rem;color:var(--g295-accent);font-weight:800;}
.g295-rtp-item span{font-size:1.15rem;color:var(--g295-muted);}

/* ---------- Testimonials ---------- */
.g295-testi{
  background:var(--g295-card);border-left:3px solid var(--g295-accent);
  border-radius:8px;padding:0.9rem 1rem;margin-bottom:0.7rem;
}
.g295-testi p{font-size:1.3rem;color:var(--g295-text);font-style:italic;}
.g295-testi b{color:var(--g295-soft);font-size:1.15rem;}

/* ---------- Payment / Winners ---------- */
.g295-pay-row,.g295-winner-row{
  display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:flex-start;
}
.g295-pay{
  background:rgba(178,223,219,0.1);border:1px solid var(--g295-border);
  padding:0.4rem 0.8rem;border-radius:20px;font-size:1.15rem;color:var(--g295-soft);
  display:flex;align-items:center;gap:0.3rem;
}
.g295-winner{
  flex:1 1 100%;display:flex;justify-content:space-between;align-items:center;
  background:var(--g295-card);border:1px solid var(--g295-border);
  padding:0.6rem 0.9rem;border-radius:8px;margin-bottom:0.5rem;
}
.g295-winner b{color:#fff;font-size:1.25rem;}
.g295-winner span{color:var(--g295-accent);font-weight:800;}

/* ---------- Steps ---------- */
.g295-steps{counter-reset:step;}
.g295-step{
  position:relative;padding:0.6rem 0.6rem 0.6rem 3rem;margin-bottom:0.7rem;
  background:var(--g295-card);border-radius:10px;border:1px solid var(--g295-border);
}
.g295-step::before{
  counter-increment:step;content:counter(step);
  position:absolute;left:0.6rem;top:50%;transform:translateY(-50%);
  width:2rem;height:2rem;border-radius:50%;background:var(--g295-accent);
  color:#1b2a3a;font-weight:800;display:grid;place-items:center;font-size:1.2rem;
}
.g295-step b{color:#fff;font-size:1.3rem;}
.g295-step p{color:var(--g295-muted);font-size:1.2rem;}

/* ---------- FAQ ---------- */
.g295-faq{margin-bottom:0.6rem;background:var(--g295-card);border:1px solid var(--g295-border);border-radius:10px;overflow:hidden;}
.g295-faq summary{
  padding:0.9rem 1rem;font-size:1.3rem;font-weight:700;color:#fff;
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
}
.g295-faq summary::-webkit-details-marker{display:none;}
.g295-faq summary i{color:var(--g295-accent);}
.g295-faq[open] summary i{transform:rotate(45deg);}
.g295-faq p{padding:0 1rem 1rem;font-size:1.25rem;color:var(--g295-muted);}

/* ---------- CTA ---------- */
.g295-cta-band{
  background:linear-gradient(135deg,var(--g295-accent),#ff6a00);
  color:#1b2a3a;border-radius:var(--g295-radius);padding:1.3rem;text-align:center;
  margin:1.2rem 0;
}
.g295-cta-band h3{color:#1b2a3a;font-size:1.7rem;margin-bottom:0.3rem;}
.g295-cta-band p{font-size:1.25rem;margin-bottom:0.8rem;color:#243a52;}
.g295-cta-band .g295-btn{background:#1b2a3a;color:#fff;}

/* ---------- Footer ---------- */
.g295-footer{
  background:#0e1a26;border-top:1px solid var(--g295-border);
  padding:1.6rem 1.4rem 2.4rem;margin-top:1rem;
}
.g295-footer p{font-size:1.2rem;color:var(--g295-muted);margin-bottom:0.8rem;line-height:1.6;}
.g295-footer-links{display:flex;flex-wrap:wrap;gap:0.4rem 0.8rem;margin:0.8rem 0;}
.g295-footer-links a{
  font-size:1.15rem;color:var(--g295-soft);text-decoration:underline;
}
.g295-footer-promos{display:flex;flex-wrap:wrap;gap:0.5rem;margin:0.8rem 0;}
.g295-footer-promos button{
  background:var(--g295-accent);color:#1b2a3a;font-weight:700;
  padding:0.5rem 0.9rem;border-radius:20px;font-size:1.15rem;
}
.g295-copy{font-size:1.1rem;color:#6a8294;text-align:center;margin-top:1rem;border-top:1px solid var(--g295-border);padding-top:1rem;}

/* ---------- Mobile Bottom Nav ---------- */
.g295-bottom-nav{
  position:fixed;bottom:0;left:50%;transform:translateX(-50%);
  width:100%;max-width:430px;height:62px;z-index:1000;
  background:rgba(14,26,38,0.98);
  border-top:1px solid var(--g295-border);
  display:flex;justify-content:space-around;align-items:center;
  backdrop-filter:blur(10px);
}
.g295-bottom-nav .g295-nav-btn{
  flex:1;background:transparent;color:var(--g295-soft);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  height:100%;gap:2px;font-size:1rem;font-weight:600;min-width:60px;min-height:60px;
  transition:color .2s, transform .15s;
}
.g295-bottom-nav .g295-nav-btn i{font-size:2.1rem;}
.g295-bottom-nav .g295-nav-btn:active{transform:scale(.9);}
.g295-bottom-nav .g295-nav-btn.g295-active{color:var(--g295-accent);}
.g295-bottom-nav .g295-nav-btn.g295-promo{
  position:relative;color:#fff;
}
.g295-bottom-nav .g295-nav-btn.g295-promo i{
  background:linear-gradient(135deg,var(--g295-accent),#ff6a00);
  color:#1b2a3a;width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;font-size:1.9rem;
  box-shadow:0 4px 10px rgba(255,140,0,0.4);
}

/* main bottom padding (mobile) */
main{padding-bottom:80px;}

/* ---------- Desktop hide bottom nav ---------- */
@media (min-width:769px){
  .g295-bottom-nav{display:none;}
  main{padding-bottom:1.6rem;}
  body{max-width:768px;}
  .g295-wrapper{max-width:768px;}
  .g295-grid{grid-template-columns:repeat(4,1fr);}
}

/* ---------- Helpers ---------- */
.g295-text-center{text-align:center;}
.g295-mt{margin-top:1.2rem;}
.g295-mb{margin-bottom:1.2rem;}
.g295-divider{height:1px;background:var(--g295-border);margin:1.2rem 0;}
.g295-kw{color:var(--g295-accent);font-weight:700;}
.g295-pill{
  display:inline-block;background:rgba(178,223,219,0.15);color:var(--g295-soft);
  padding:0.2rem 0.7rem;border-radius:14px;font-size:1.1rem;margin:0.15rem;
}
