* { margin: 0; padding: 0; box-sizing: border-box; }

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

body {
  min-height: 100vh;
  font-family: Arial, Helvetica, sans-serif;
  background-image: url("img/fondo.png");
  background-position: top center;
  background-repeat: repeat-y;
  background-size: cover;
  background-attachment: fixed;
}

@media (max-width: 768px) {
  body {
    background-image: url("img/fondocelular.png");
    background-position: top center;
    background-repeat: repeat-y;
    background-size: cover;
    background-attachment: scroll;
  }
}

.logo {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 92vw;
  max-width: 1100px;
  z-index: 10;
  pointer-events: none;
}

#btn-sonido {
  position: fixed;
  top: 0px;
  right: 12px;
  width: 44px;
  height: 44px;
  font-size: 20px;
  border: none;
  background: transparent;
  color: #fff;
  cursor: pointer;
  z-index: 11;
}

/* ✅ Se bajó el padding-top global de 140px a 80px */
.stage {
  padding-top: 80px;
  padding-bottom: 0;
  display: flex;
  justify-content: center;
  min-height: 100vh;
}

.menu-wrap {
  position: relative;
  width: 92vw;
  max-width: 780px;
  margin-bottom: 0;
}

.menu-img {
  width: 100%;
  height: auto;
  display: block;
}

.personaje {
  position: absolute;
  left: -12%;
  bottom: 8%;
  width: 23%;
  height: auto;
  z-index: 3;
  pointer-events: none;
}

.menu-overlay {
  position: absolute;
  left: 57%;
  top: 62%;
  transform: translate(-50%, -50%);
  width: 62%;
  max-width: 520px;
  text-align: center;
  z-index: 4;
  color: #000;
}

.menu-titulo {
  font-size: 24px;
  font-weight: 900;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.menu-texto {
  font-size: 16px;
  margin-bottom: 10px;
}

.menu-links { margin-bottom: 12px; }

.link-descarga {
  color: #6ba7ff;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
  margin: 2px 0;
}

.link-descarga:hover { text-decoration: underline; }

.boton-wrapper { display: inline-block; }

.boton-descarga {
  width: 200px;
  height: auto;
  display: block;
}

/* ✅ Móviles pequeños */
@media (max-width: 420px) {
  .stage { padding-top: 60px; }

  .menu-overlay {
    left: 56.5%;
    top: 68%;
    width: 68%;
    margin-top: 20px; /* ✅ BAJAMOS 20px en móviles */
  }

  .menu-titulo { font-size: 18px; }
  .menu-texto { font-size: 13px; }

  .boton-descarga { width: 150px; }
  
  .personaje {
    left: -6%;
    bottom: 7%;
    width: 24%;
  }
}

/* ✅ Tablets / móviles medianos */
@media (min-width: 421px) and (max-width: 768px) {
  .stage { padding-top: 70px; }

  .menu-overlay {
    left: 56%;
    top: 66%;
    width: 64%;
    margin-top: 20px; /* ✅ BAJAMOS 20px en móviles */
  }

  .boton-descarga { width: 160px; }

  .personaje {
    left: -8%;
    bottom: 7%;
    width: 22%;
  }
}

/* ✅ Desktop grande */
@media (min-width: 1024px) {
  .stage { padding-top: 100px; }

  .menu-wrap { max-width: 860px; }

  .menu-overlay {
    left: 57%;
    top: 61%;
    width: 58%;
  }

  .personaje {
    left: -10%;
    bottom: 7%;
    width: 21%;
  }
}