* { box-sizing: border-box; }

html, body {
  margin: 0;
  width: 100%;
  height: 100%;
}

body {
  background: #0b0b0b;
  overflow: hidden;
  user-select: none;
}

#stage {
  width: 100%;
  height: 100vh;
  background: black;
}

#app {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}


#content {
  flex: 1;
  overflow: hidden;
  position: relative;
}

.page {
  display: none;
  height: 100%;
}

.page.active {
  display: block;
}

.section {
  margin: 10px 0;
  color: white;
}

.sectionHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
}

.section h2 {
  font-family: sans-serif;
  margin: 0;
  font-size: 18px;
}

.seeAll {
  font-family: sans-serif;
  color: red;
  font-weight: bold;
  cursor: pointer;
}

.horizontal {
  display: flex;
  overflow: hidden;
  gap: 10px;
  padding: 0 10px 10px 10px;
}

.card {
  flex: 0 0 auto;
  width: clamp(120px, 18vw, 180px);
}

.card img {
  width: 100%;
  border-radius: 10px;
  pointer-events: none;
}

.card{
  transition: 0.3s;
  cursor: pointer;
}

.card:hover{
  transform:scale(0.95);
}


/* BIG SECTION 1 */
/* .bigCard {
  width: clamp(260px, 40vw, 420px);
}

.bigCard img {
  width: 100%;
  height: clamp(150px, 24vw, 240px);
  object-fit: cover;
  border-radius: 12px;
  pointer-events: none;
} */

.bigCard {
  width: clamp(290px, 43vw, 470px);
}

.bigCard img {
  width: 100%;
  height: clamp(170px, 27vw, 270px);
  object-fit: cover;
  border-radius: 12px;
  pointer-events: none;
}

/* .banner img {
  width: 100%;
  height: clamp(180px, 28vw, 360px);
  object-fit: cover;
  pointer-events: none;
} */

.banner {
  width: min(100%, 1100px);
  margin: auto;
}

.banner img {
  width: 100%;
  height: auto;
  display: block;
  pointer-events: none;
}



.bottomNav {
  height: 60px;
  display: flex;
  background: #111;
}

/* .bottomNav button {
  flex: 1;
  background: none;
  border: none;
  color: white;
} */

.bottomNav button {
  flex: 1;
  background: none;
  border: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2px;
}

.bottomNav button img {
  width: 18px;
  height: 18px;
  transition: 0.2s;
}

.bottomNav button span {
  color: white;
  font-size: 11px;
  transition: 0.2s;
}

/* Active tab becomes bigger */
.bottomNav button.active img {
  width: 24px;
  height: 24px;
}

.bottomNav button.active span {
  font-size: 13px;
  font-weight: bold;
}

.gamePage {
  position: fixed;
  inset: 0;
  background: #111;
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.allGamesPage {
  position: absolute;
  inset: 0;
  background: black;
  z-index: 20;
}

#gameFrame {
  width: 100%;
  height: 100%;
  border: none;
}

.topBar {
  position: absolute;
  top: 10px;
  left: 10px;
}

/* SEE ALL */
.allGamesPage {
  display: flex;
  flex-direction: column;
}

.allGamesTopBar {
  height: 60px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  color: white;
  border-bottom: 1px solid #222;
}

#allGamesTitle {
  flex: 1;
  text-align: center;
  font-family: sans-serif;
  font-weight: bold;
  font-size: 20px;
  margin-right: 60px;
}

#allGamesScroll {
  flex: 1;
  overflow: hidden;
}

.allGamesGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 180px));
  justify-content: center;
  gap: 12px;
  padding: 12px;
}

.gridCard {
  width: 100%;
  aspect-ratio: 0.7;
}

.gridCard img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
  pointer-events: none;
}

.gridCard{
  transition: 0.3s;
  cursor: pointer;
}

.gridCard:hover{
  transform:scale(0.95);
}


.hidden {
  display: none;
}

#privacyPage {
  display: block;
  height: 100%;
  overflow: hidden;   /* no visible scrollbar */
  color: white;
}

#homePage,
#categoriesPage {
  height: 100%;
  overflow: auto;

  scrollbar-width: none;      /* Firefox */
  -ms-overflow-style: none;   /* IE/Edge */
}

#homePage::-webkit-scrollbar,
#categoriesPage::-webkit-scrollbar {
  display: none;              /* Chrome/Safari */
}

#gameViewport {
  position: relative;
  height: 100vh;
  aspect-ratio: 9 / 16;
  background: black;
  overflow: hidden;
}

@media (max-aspect-ratio: 9/16) {
  #gameViewport {
    width: 100vw;
    height: 100vh;
    aspect-ratio: auto;
  }
}

.topLogoBar {
  height: 70px;
  background: black;
  display: flex;
  align-items: center;
  padding-left: 16px;
  flex-shrink: 0;
}

.topLogoBar img {
  height: 35px;   /* adjust if needed */
  width: auto;
  display: block;
}