/* =========================================================
 * 95vn - design-6874.css (mobile-first, max-width 430px)
 * All classes use the prefix "g748-"
 * Palette: #2C2C2C / #DEE2E6 / #C0C0C0 / #7CFC00 / #98FB98 / #BDC3C7
 * ========================================================= */

/* ----- Variables / reset ----- */
:root {
  --g748-bg:#2C2C2C; --g748-bg-2:#1c1d1d; --g748-bg-3:#35373a;
  --g748-text:#DEE2E6; --g748-muted:#BDC3C7; --g748-silver:#C0C0C0;
  --g748-primary:#7CFC00; --g748-primary-2:#98FB98;
  --g748-radius:12px; --g748-radius-sm:8px; --g748-shadow:0 6px 22px rgba(0,0,0,.35);
}
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
.g748-no-scroll { overflow:hidden; }
body {
  margin:0; font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  background:var(--g748-bg); color:var(--g748-text); font-size:1.5rem; line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a { color:var(--g748-primary-2); text-decoration:none; }
a:hover { color:var(--g748-primary); }
img { max-width:100%; display:block; }
h1,h2,h3,h4 { margin:0 0 .5em; line-height:1.25; font-weight:700; }
p { margin:0 0 1em; }

/* ----- Layout ----- */
.g748-container { width:100%; max-width:430px; margin:0 auto; padding:0 14px; }
.g748-wrapper { width:100%; }
.g748-grid { display:grid; gap:12px; }
.g748-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }

/* ===== Header ===== */
.g748-header {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:linear-gradient(180deg,#222325 0%,var(--g748-bg) 100%);
  border-bottom:1px solid rgba(124,252,0,.25);
  box-shadow:0 2px 10px rgba(0,0,0,.4);
}
.g748-header-inner { max-width:430px; margin:0 auto; padding:8px 14px; display:flex; align-items:center; gap:10px; }
.g748-logo { display:flex; align-items:center; gap:8px; font-weight:800; font-size:1.8rem; color:var(--g748-text); flex:1; min-width:0; }
.g748-logo img { width:28px; height:28px; border-radius:6px; }
.g748-logo .g748-logo-text { color:var(--g748-primary); letter-spacing:.5px; white-space:nowrap; }
.g748-header-btns { display:flex; gap:8px; align-items:center; }
.g748-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  min-height:36px; padding:0 14px; border-radius:999px;
  font-weight:700; font-size:1.3rem; cursor:pointer; border:none;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.g748-btn-primary {
  background:linear-gradient(135deg,var(--g748-primary),var(--g748-primary-2));
  color:#10210a; box-shadow:0 4px 0 rgba(124,252,0,.25);
}
.g748-btn-primary:hover { transform:translateY(-1px); }
.g748-btn-ghost { background:transparent; color:var(--g748-text); border:1px solid rgba(192,192,192,.45); }
.g748-btn-ghost:hover { background:rgba(255,255,255,.06); }
.g748-btn-block { width:100%; padding:12px; font-size:1.5rem; }
.g748-menu-toggle {
  background:transparent; border:0; color:var(--g748-text); font-size:2rem;
  width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer; border-radius:8px;
}

/* ===== Mobile menu ===== */
.g748-mobile-menu {
  position:fixed; top:56px; left:0; right:0; z-index:9999;
  background:var(--g748-bg-2); border-bottom:1px solid rgba(124,252,0,.2);
  transform:translateY(-130%); transition:transform .28s ease;
  max-height:70vh; overflow-y:auto; box-shadow:var(--g748-shadow);
}
.g748-mobile-menu.g748-menu-open { transform:translateY(0); }
.g748-mobile-menu ul { list-style:none; margin:0; padding:6px 0; }
.g748-mobile-menu li a {
  display:flex; align-items:center; gap:12px; padding:14px 18px;
  color:var(--g748-text); font-size:1.5rem; border-bottom:1px solid rgba(255,255,255,.05);
}
.g748-mobile-menu li a i { width:22px; color:var(--g748-primary); font-size:1.7rem; }
.g748-mobile-menu li a:hover { background:rgba(124,252,0,.08); color:var(--g748-primary-2); }

/* ===== Main ===== */
main { padding-top:64px; padding-bottom:16px; }
@media (max-width:768px) { main { padding-bottom:96px; } }

/* ===== Hero / carousel ===== */
.g748-hero { position:relative; border-radius:var(--g748-radius); overflow:hidden; margin:12px 0 16px; box-shadow:var(--g748-shadow); }
.g748-slides { position:relative; height:200px; }
.g748-slide { position:absolute; inset:0; opacity:0; transition:opacity .6s ease; cursor:pointer; }
.g748-slide img { width:100%; height:100%; object-fit:cover; }
.g748-slide .g748-slide-overlay { position:absolute; left:0; right:0; bottom:0; padding:12px 14px; background:linear-gradient(transparent,rgba(0,0,0,.78)); }
.g748-slide-overlay h2 { color:var(--g748-primary); font-size:1.7rem; margin:0 0 4px; }
.g748-slide-overlay p { margin:0; color:var(--g748-muted); font-size:1.3rem; }
.g748-slide-active { opacity:1; }
.g748-carousel-ctrl { display:flex; justify-content:center; align-items:center; gap:8px; padding:8px 0; }
.g748-dot { width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.3); border:0; padding:0; cursor:pointer; transition:background .15s ease, transform .15s ease; }
.g748-dot-active { background:var(--g748-primary); transform:scale(1.25); }

/* ===== Section heading ===== */
.g748-section { margin:22px 0; }
.g748-section-head { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.g748-section-head .g748-h-ico { font-size:2rem; color:var(--g748-primary); }
.g748-section-head h2 { font-size:1.7rem; margin:0; flex:1; color:var(--g748-text); }
.g748-section-head .g748-h-link { font-size:1.25rem; color:var(--g748-primary-2); }
.g748-h1 { font-size:1.95rem; color:var(--g748-text); margin:18px 0 6px; line-height:1.3; }
.g748-h1 .g748-accent { color:var(--g748-primary); }
.g748-lead { color:var(--g748-muted); margin-bottom:14px; }

/* ===== Game grids ===== */
.g748-cat-title { display:flex; align-items:center; gap:8px; margin:16px 0 10px; font-size:1.55rem; font-weight:700; color:var(--g748-text); }
.g748-cat-title i { color:var(--g748-primary); font-size:1.7rem; }
.g748-cat-title .g748-badge { margin-left:auto; background:rgba(124,252,0,.15); color:var(--g748-primary); font-size:1.05rem; padding:2px 10px; border-radius:999px; font-weight:700; }
.g748-game-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.g748-game-card { background:var(--g748-bg-3); border-radius:var(--g748-radius-sm); overflow:hidden; cursor:pointer; border:1px solid rgba(255,255,255,.05); transition:transform .15s ease, border-color .15s ease; display:block; }
.g748-game-card:hover { transform:translateY(-2px); border-color:rgba(124,252,0,.5); }
.g748-game-thumb { position:relative; aspect-ratio:1/1; background:#16181a; overflow:hidden; }
.g748-game-thumb img { width:100%; height:100%; object-fit:cover; }
.g748-game-card:hover .g748-game-thumb img { transform:scale(1.05); }
.g748-game-name { font-size:1.18rem; text-align:center; padding:6px 4px; color:var(--g748-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.g748-game-hot { position:absolute; top:4px; left:4px; background:linear-gradient(135deg,#ff5b5b,#ff9d3c); color:#fff; font-size:.95rem; padding:1px 6px; border-radius:6px; font-weight:700; }

/* ===== Filters ===== */
.g748-filters { display:flex; gap:8px; flex-wrap:wrap; margin:8px 0 14px; }
.g748-filter-btn { padding:6px 12px; border-radius:999px; border:1px solid rgba(192,192,192,.35); background:transparent; color:var(--g748-muted); font-size:1.2rem; cursor:pointer; }
.g748-filter-btn.g748-filter-active { background:var(--g748-primary); color:#10210a; border-color:var(--g748-primary); }

/* ===== Cards / features ===== */
.g748-card { background:var(--g748-bg-3); border-radius:var(--g748-radius); padding:14px; border:1px solid rgba(255,255,255,.05); box-shadow:var(--g748-shadow); }
.g748-card h3 { color:var(--g748-primary); font-size:1.5rem; }
.g748-card p { color:var(--g748-muted); margin-bottom:8px; }
.g748-stat-row { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px dashed rgba(192,192,192,.25); font-size:1.35rem; }
.g748-stat-row:last-child { border-bottom:0; }
.g748-stat-row span:first-child { color:var(--g748-muted); }
.g748-stat-row span:last-child { color:var(--g748-primary); font-weight:700; }

/* ===== Steps ===== */
.g748-steps { list-style:none; padding:0; margin:0; counter-reset:step; }
.g748-steps li { position:relative; padding:10px 10px 10px 42px; margin-bottom:8px; background:var(--g748-bg-3); border-radius:var(--g748-radius-sm); counter-increment:step; font-size:1.35rem; color:var(--g748-text); }
.g748-steps li::before { content:counter(step); position:absolute; left:8px; top:50%; transform:translateY(-50%); width:26px; height:26px; border-radius:50%; background:var(--g748-primary); color:#10210a; font-weight:700; display:flex; align-items:center; justify-content:center; font-size:1.15rem; }

/* ===== Testimonials ===== */
.g748-review { background:var(--g748-bg-3); border-radius:var(--g748-radius); padding:12px; margin-bottom:10px; border-left:3px solid var(--g748-primary); }
.g748-review-head { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.g748-review-avatar { width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,var(--g748-primary),var(--g748-primary-2)); color:#10210a; font-weight:700; display:flex; align-items:center; justify-content:center; }
.g748-review-name { font-weight:700; color:var(--g748-text); }
.g748-review-stars { color:#ffd54a; font-size:1.1rem; }
.g748-review p { margin:0; font-size:1.3rem; color:var(--g748-muted); }

/* ===== Winners / payments ===== */
.g748-winner { display:flex; align-items:center; gap:10px; background:var(--g748-bg-3); border-radius:var(--g748-radius-sm); padding:8px 10px; margin-bottom:8px; }
.g748-winner i { color:#ffd54a; font-size:1.6rem; }
.g748-winner .g748-w-name { font-weight:700; color:var(--g748-text); flex:1; }
.g748-winner .g748-w-amt { color:var(--g748-primary); font-weight:700; }
.g748-pay-row { display:flex; flex-wrap:wrap; gap:8px; }
.g748-pay-chip { background:var(--g748-bg-3); border:1px solid rgba(192,192,192,.25); border-radius:8px; padding:8px 10px; font-size:1.2rem; color:var(--g748-muted); display:inline-flex; align-items:center; gap:6px; }

/* ===== CTA / links ===== */
.g748-cta { background:linear-gradient(135deg,rgba(124,252,0,.18),rgba(152,251,152,.08)); border:1px solid rgba(124,252,0,.35); border-radius:var(--g748-radius); padding:16px; text-align:center; margin:16px 0; }
.g748-cta h3 { color:var(--g748-primary); margin-bottom:6px; }
.g748-cta p { color:var(--g748-muted); margin-bottom:12px; }
.g748-link-text { font-weight:700; color:var(--g748-primary-2); }
.g748-link-text:hover { color:var(--g748-primary); text-decoration:underline; }

/* ===== Footer ===== */
.g748-footer { margin-top:24px; background:var(--g748-bg-2); border-top:1px solid rgba(124,252,0,.2); padding:20px 14px 16px; }
.g748-footer-inner { max-width:430px; margin:0 auto; }
.g748-footer p { color:var(--g748-muted); font-size:1.3rem; }
.g748-footer-links { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0; }
.g748-footer-links a { font-size:1.2rem; padding:4px 10px; border-radius:6px; background:var(--g748-bg-3); border:1px solid rgba(192,192,192,.2); color:var(--g748-text); }
.g748-footer-links a:hover { background:rgba(124,252,0,.12); color:var(--g748-primary-2); }
.g748-footer-copy { text-align:center; font-size:1.15rem; color:var(--g748-silver); margin-top:10px; }

/* ===== Mobile bottom nav ===== */
.g748-bottom-nav {
  position:fixed; bottom:0; left:0; right:0; z-index:1000; height:62px;
  display:flex; justify-content:space-around; align-items:center;
  background:linear-gradient(180deg,#222325 0%,#18191a 100%);
  border-top:1px solid rgba(124,252,0,.3); box-shadow:0 -4px 14px rgba(0,0,0,.5);
}
.g748-bottom-nav a {
  flex:1; min-width:60px; min-height:60px; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:2px;
  color:var(--g748-silver); font-size:1rem; text-decoration:none; position:relative;
  transition:color .15s ease, transform .15s ease;
}
.g748-bottom-nav a i { font-size:22px; }
.g748-bottom-nav a .material-icons-outlined { font-size:24px; }
.g748-bottom-nav a:hover, .g748-bottom-nav a.g748-nav-active { color:var(--g748-primary); transform:translateY(-2px); }
.g748-bottom-nav a.g748-nav-active::before { content:""; position:absolute; top:0; width:28px; height:3px; border-radius:0 0 4px 4px; background:var(--g748-primary); }
.g748-nav-promo i { color:var(--g748-primary); }
@media (min-width:769px) { .g748-bottom-nav { display:none; } main { padding-bottom:16px; } }

/* ===== Back to top ===== */
.g748-to-top { position:fixed; right:14px; bottom:76px; width:42px; height:42px; border-radius:50%; background:var(--g748-primary); color:#10210a; border:0; display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:0; visibility:hidden; transition:opacity .2s ease, transform .2s ease, visibility .2s ease; z-index:999; box-shadow:var(--g748-shadow); }
.g748-to-top.g748-to-top-show { opacity:1; visibility:visible; }
.g748-to-top:hover { transform:translateY(-3px); }

/* ===== Desktop tweaks ===== */
@media (min-width:431px) { .g748-container { max-width:430px; } }

/* Accessibility focus */
a:focus-visible, button:focus-visible { outline:2px solid var(--g748-primary); outline-offset:2px; border-radius:4px; }
