:root{
  --bg: #ffffff;
  --card: #fbfdff;
  --muted: #6b7280;
  --accent: #0b84ff;
  --glass: rgba(15,23,42,0.03);
  --max-width: 1200px;
}

html,body{height:100%;margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,'Helvetica Neue',Arial,sans-serif;background-image:url('https://lamongame.com/images/pattern-bg.png');background-size:cover;background-repeat:no-repeat;background-position:center top;color:#0b1720;overflow-y:auto !important;-webkit-overflow-scrolling:touch}
.vplay-wrap{padding-bottom:12px}
/* Ensure bottom nav is fixed and overlaps content correctly */
.sidebottom.fixed-bottom{position:fixed;left:0;right:0;bottom:0;z-index:50}


/* HERO */
.hero-card{padding:28px 12px}
.hero-layout{max-width:var(--max-width);margin:0 auto;display:flex;gap:24px;align-items:flex-start}
.game-info,.visual-panel{flex:0 0 100%;max-width: 100%}
.visual-card{position:relative;border-radius:12px;overflow:hidden;background:var(--card);box-shadow:0 6px 18px rgba(11,17,23,0.06);box-sizing:border-box}
.visual-card img{width:100%;height:auto;display:block;object-fit:cover;border-top-left-radius:12px;border-top-right-radius:12px}

/* Simple fade carousel */
.carousel{position:relative;overflow:hidden;border-radius:12px;background:var(--card);width:100%;aspect-ratio:16/9}
.carousel .slides{position:relative;height:100%}
.carousel .slide{position:absolute;inset:0;opacity:0;transition:opacity .35s ease;display:block}
.carousel .slide.active{opacity:1}
.carousel .slide img{width:100%;height:100%;object-fit:cover;display:block}
.carousel .controls{position:absolute;left:12px;right:12px;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none}
.carousel .control-btn{pointer-events:auto;background:rgba(0,0,0,0.36);color:#fff;padding:8px 12px;border-radius:8px;border:none;font-size:18px}

/* Dots / pagination */
.carousel .dots{position:absolute;left:50%;transform:translateX(-50%);bottom:12px;display:flex;gap:8px;z-index:6}
.carousel .dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.6);border:1px solid rgba(11,17,23,0.06);cursor:pointer;padding:0;outline:none}
.carousel .dot.active{background:#fff;box-shadow:0 0 0 6px rgba(11,132,255,0.06)}
@media (max-width:480px){
  .carousel .dot{width:12px;height:12px}
}

/* ensure feature row sits inside card and doesn't overflow */
.visual-card .feature-row{width:100%;box-sizing:border-box;padding:12px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:0}

.tag-row{display:flex;gap:8px;margin-bottom:10px}
.tag{background:var(--glass);padding:6px 8px;border-radius:999px;color:var(--muted);font-size:12px}
.back-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:999px;border:none;background:var(--glass);color:var(--accent);font-size:12px;cursor:pointer;white-space:nowrap;transition:background .2s}
.back-btn:hover{background:rgba(11,132,255,.12)}

.title-row{display:flex;align-items:center;gap:12px}
.game-logo{width:72px;height:72px;border-radius:10px;object-fit:cover}
.game-title{font-size:1.6rem;margin:0;color:#071427}
.game-desc{color:var(--muted);margin:12px 0 16px}

.meta-grid{display:flex;gap:12px}
.meta-box{background:var(--glass);padding:10px;border-radius:8px;text-align:center;min-width:0}
.meta-box strong{display:block}

/* Download card inside visual */
.download-card{position:absolute;right:14px;bottom:14px;background:rgba(250,252,255,0.9);padding:12px;border-radius:10px;display:flex;flex-direction:column;gap:8px;min-width:180px;border:1px solid rgba(11,17,23,0.04)}
.download-link{display:inline-block;padding:8px 10px;border-radius:8px;text-decoration:none;color:#ffffff;background:linear-gradient(90deg,var(--accent),#0aa0ff);font-weight:700;text-align:center}
.download-link[rel~="noopener"]{background:transparent;color:var(--muted);border:1px solid rgba(11,17,23,0.06)}

/* CONTENT GRID */
.content-grid{max-width:var(--max-width);margin:18px auto;display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 12px}

/* when a content grid should be full width (single column) */
.content-grid.full-width{grid-template-columns:1fr}
.panel{background:var(--glass);padding:14px;border-radius:10px;border:1px solid rgba(11,17,23,0.04)}

/* Utility */
.text-center{text-align:center;margin-bottom:4px}

.step-list{display:flex;flex-direction:column;gap:12px}
.step-item{display:flex;gap:12px;align-items:flex-start}
.step-number{background:var(--glass);width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700}
.step-text{color:var(--muted)}

.support-box{background:linear-gradient(90deg, rgba(62,231,166,0.06), rgba(62,231,166,0.02));padding:10px;border-radius:8px;color:var(--muted)}
.feature-list{display:flex;flex-direction:column;gap:8px}
.feature-item{display:flex;gap:8px;align-items:center}
.feature-icon{width:36px;height:36px;border-radius:8px;background:var(--glass);display:flex;align-items:center;justify-content:center}

/* FOOTER small tweaks */
.footer{margin-top:24px}

/* Responsive */
@media (max-width:980px){
  .hero-layout{flex-direction:column-reverse}
  .visual-panel{width:100%}
  .visual-card{height: 100%}
  .content-grid{grid-template-columns:1fr;}
}
@media (max-width:480px){
  .game-title{font-size:1.2rem}
  .game-logo{width:56px;height:56px}
  .download-card{right:10px;left:10px;bottom:12px;min-width:0}
  
  /* Make main sections fill the viewport on small phones */
  .vplay-wrap{min-height:100vh}
  .hero-card{min-height:100vh;padding:16px}
  .hero-layout{flex-direction:column;height:100%;gap:16px}
  .game-info,.visual-panel{width:100%;max-width:100%;flex:none}
  .visual-card{width:100%;height:50vh;box-sizing:border-box}
  .visual-card img{width:100%;height:100%;object-fit:cover;border-radius:10px}
  .content-grid.full-width{width:100%;max-width:100%;padding-left:12px;padding-right:12px}
  .feature-row{justify-content:space-between}
  /* remove patterned page background on small screens */
  html,body,.vplay-wrap{background-image:none !important;background-color:var(--bg) !important;background-repeat:no-repeat !important;background-position:initial !important}
}

/* Mobile tweaks: avoid forcing multiple full-viewport blocks to prevent overlap */
@media (max-width:480px){
  .hero-card{min-height:auto;padding:16px}
  .hero-layout{flex-direction:column;height:auto;gap:16px}
  .visual-card{width:100%;height:auto;min-height:40vh;box-sizing:border-box}
  .visual-card img{width:100%;height:auto;object-fit:cover;border-radius:10px}
  .visual-card .feature-row{position:relative;left:auto;right:auto;bottom:auto;padding:12px;margin:12px 0 0 0;justify-content:space-between}
  .feature-slot{max-width:48%;flex:1 1 48%}
}

/* Four horizontal slots below banner */
.feature-row{
  max-width:var(--max-width);
  margin:18px auto 0;
  display:flex;
  gap:16px;
  justify-content:center;
  padding:0 12px;
  box-sizing:border-box;
  flex-wrap:wrap;
}
.feature-slot{
  flex:1 1 calc(25% - 16px);
  min-width:120px;
  max-width:240px;
  height:72px;
  border-radius:10px;
  background:transparent;
  border:2px dashed rgba(11,17,23,0.06);
  box-shadow:0 6px 18px rgba(11,17,23,0.04);
}

.feature-slot .feature-link{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 14px;border-radius:10px;text-decoration:none;width:100%;height:100%;box-sizing:border-box}
.feature-slot .feature-icon{font-size:22px}
.feature-slot .feature-label{font-weight:700;font-size:15px}
.feature-link.primary{background:linear-gradient(90deg,var(--accent),#0AA10E);color:#fff;border:2px solid rgba(6,18,12,0.12);box-shadow:0 6px 14px rgba(6,18,12,0.06), inset 0 1px 0 rgba(255,255,255,0.22);position:relative;overflow:hidden;cursor:pointer;transition:transform .16s cubic-bezier(.2,.9,.2,1),box-shadow .16s cubic-bezier(.2,.9,.2,1);will-change:transform,box-shadow}
.feature-link.primary:active{transform:translateY(1px) scale(.994);box-shadow:0 3px 8px rgba(6,18,12,0.06), inset 0 6px 12px rgba(0,0,0,0.12);transition:transform .06s linear,box-shadow .06s linear}

/* keyboard focus for accessibility */
.feature-link.primary:focus-visible{outline:none;box-shadow:0 10px 28px rgba(6,18,12,0.08),0 0 0 4px rgba(11,132,255,0.12)}

/* glossy sheen overlay and stronger hover lift */
.feature-link.primary{overflow:hidden}
.feature-link.primary::after{content:"";position:absolute;top:0;left:-60%;width:60%;height:140%;background:linear-gradient(120deg,rgba(255,255,255,0.34) 0%,rgba(255,255,255,0.14) 45%,rgba(255,255,255,0.02) 100%);transform:skewX(-18deg) translateX(0);transition:transform .6s cubic-bezier(.2,.9,.2,1),opacity .3s;pointer-events:none;mix-blend-mode:screen;border-radius:inherit;opacity:0.95}
.feature-link.primary:hover::after{transform:skewX(-18deg) translateX(220%);opacity:1}
.feature-link.primary:hover{transform:translateY(-3px) scale(1.004);box-shadow:0 10px 24px rgba(6,18,12,0.10)}
.feature-link.primary:active::after{transform:skewX(-18deg) translateX(120%);opacity:0.7}

.feature-slot{transition:transform .12s ease,box-shadow .12s ease}
.feature-slot:active{transform:translateY(2px)}
.feature-link.secondary{background:transparent;color:var(--muted);border:1px solid rgba(11,17,23,0.06)}

/* Hide old floating download card to avoid duplicate controls */
.visual-card .download-card{display:none !important}

/* ensure label color explicit */
.feature-link.primary .feature-label{color:#fff}
.feature-link.secondary .feature-label{color:var(--muted)}

@media (max-width:780px){
  .feature-row{gap:12px}
  .feature-slot{height:68px;max-width:calc(50% - 12px);flex:1 1 calc(50% - 12px)}
}

@media (max-width:420px){
  .feature-row{gap:10px}
  .feature-slot{height:56px;max-width:calc(50% - 10px)}
}

/* Feature grid for responsive layout */
.feature-grid{
  display:flex;
  gap:20px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
}

.feature-grid .feature-list-game{
  flex:1 1 45%;
  min-width:220px;
  margin:0;
}

.feature-grid .image-box{
  flex:1 1 45%;
  min-width:220px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.feature-grid .image-box img{
  width:100%;
  height:auto;
  border-radius:8px;
  display:block;
  max-width:100%;
}

.feature-list-game{
    list-style: none;
    padding-left: 0;
    margin: 0 0 20px;
}

.image-caption{
  color:var(--muted);
  margin-top:8px;
  font-size:0.95rem;
}

/* Text size utilities */
.text-small{font-size:0.85rem;line-height:1.5}
.text-smaller{
    font-size: 0.65rem;
    line-height: 1.5;
    font-style: italic;
    color: #666;
}
/* utility for danger / red text */
.text-danger{color:#e11d48}

@media (max-width:780px){
  .feature-grid{
    flex-direction:column;
    gap:12px;
  }
  .feature-grid .feature-list-game,
  .feature-grid .image-box{
    flex:1 1 100%;
    min-width:0;
  }
  .image-caption{
    text-align:center;
  }
}