:root {
  --color-primary: #ffff;
  --background-color: transparent;
  --background-color-2: #ffff;
  --font-secondary: "Rubik";
  --font-gamer: "Press Start 2P";
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background-image: url("../img/portada/fondo.png") !important;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: var(--background-color);
  cursor: url("../img/recursos/boom.png"), auto;
  height: auto;
  font-family: var(--font-secondary);
}

.imagen-centro {
  display: flex;
  justify-content: center;
  align-items: center;
}

.imagen-centro img {
  max-width: 300%;
  height: auto;
}

.mensaje-error {
  background-color: #f8d7da;
  color: #721c24;
  padding: 10px;
  margin: 10px 0;
  border-radius: 5px;
  text-align: center;
  font-weight: bold;
}

.mensaje-exito {
  background-color: #d4edda;
  color: #155724;
  padding: 10px;
  margin: 10px 0;
  border-radius: 5px;
  text-align: center;
  font-weight: bold;
}

.popup { position: fixed; inset: 0; background: rgba(0,0,0,0.7); display: none; z-index: 1000; }
.popup-content {
  width: min(900px, 92vw);
  max-height: 80vh;
  margin: 4vh auto;
  background: #ffffff;
  color: #111;
  border-radius: 10px;
  padding: 16px 18px;
  display: flex; flex-direction: column;
}
#terminosScroll {
  max-height: 50vh; overflow: auto; padding-right: 10px;
  border: 1px solid #ddd; border-radius: 8px; background: #fff;
}

/* Pie “pegado” y botón visible */
.popup-content footer {
  position: sticky; bottom: 0;
  background: #fff; padding: 8px 0; margin-top: 8px;
  border-top: 1px solid #eee;
}
#cerrarPopup {
  align-self: flex-end;
  padding: 10px 16px;
  border-radius: 8px;
  border: 0;
  cursor: pointer;
  background: #111; color: #220159; font-weight: 600;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
#cerrarPopup:hover { filter: brightness(1.1); }



.container {
  display: flex;
  flex-direction: row;
  background-color: var(--background-color);
}

/* =======Esta clase la programe mal, pero mueve todo el diseño, queda como commit para un futuro========== */
.container div {
  
  padding: 2rem 4rem;
}

.totalplay-phase-register {
  display: flex;
  flex-direction: column;
  background-color: transparent;
}

.nav-logo {
  width: 100% !important;
  display: flex;
  justify-content: start;
}

.nav-logo img {
  width: 30%;
  height: auto;
}
/* ================Contenendor Registro================ */

.container-register {
  display: flex;
  flex-direction: column;
  background-color: var(--background-color-2);
  border-radius: 2rem;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  font-family: var(--font-secondary) !important;
}

.container-register p {
  font-family: var(--font-secondary);
  text-align: center;
}
.container-forms {
  width: 100% !important;
}

.container-forms h2 {
  font-family: var(--font-secondary);
  font-weight: 700;
  font-size: 2rem;
  margin-bottom: 5vh;
}

.container-forms form {
  display: flex;
  flex-direction: column;
  font-family: var(--font-secondary);
  font-weight: 300;
}

.container-forms label {
  font-size: 1.2rem;
  margin-bottom: 1rem;
  width: 100%;
  color: rgba(0, 0, 0, 0.5); /* 50% de opacidad */
}

.container-forms input {
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.5); /* 50% de opacidad */
  margin-bottom: 2rem;
  padding: 1rem;
}

.mensaje-error{
  color: red; 
  width: 100% !important;
  text-align: center;
  padding: 0;
}

/* ============Terminos & Condiciones============= */

.terminos-condiciones {
  display: flex;
  flex-direction: row;
  width: 100% !important;
  cursor: pointer;
  justify-content: center;
  align-items: center;
}

#terminosLabel {
  color: #447aaa;
  font-weight: 700;
}

.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
}

.popup-content {
  background-color: white;
  padding: 3rem;
  border-radius: 5px;
  font-family: var(--font-secondary);
  overflow: auto;
  max-height: 90vh;
}

.popup-content h2 {
  margin-bottom: 2rem;
  margin-top: 5vh;
}

.popup-content p {
  margin-bottom: 1.2rem;
}

#cerrarPopup {
  font-family: var(--font-secondary);
  color: var(--color-primary);
  background-color: #220159;
  padding: 1rem;
  width: 30%;
  border: none;
  border-radius: 2rem;
}

.texto-terminos-condiciones {
  color: #447aaa;
  font-weight: 700;
}

.boton-iniciar-sesion {
  background-color: #120545;
  color: #fff;
  border: none;
  border-radius: 1.5rem;
  padding: 1rem;
  font-family: var(--font-secondary);
  font-weight: 700;
  font-size: 1.2rem;
  cursor: pointer;
  margin-top: 2rem;
}

/* =========Parte Izquierda - Banner Personajes========= */

.phase-totalplay {
  width: 100% !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 !important;
}

.phase-totalplay img {
  width: 60% !important;
}

.banner-personajes {
  width: 100% !important;
}

.show-form {
  display: block;
}

.hide-form {
  display: none;
}

.contenedor-animacion-personaje {
  width: 100% !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.dialogo-texto {
  font-family: var(--font-gamer) !important;
  font-size: 1rem;
  color: #000 !important;
  padding: 10px 20px !important; /* Añade padding para dar espacio al texto */
  width: auto !important; /* Cambia a auto para permitir que el tamaño del contenedor se ajuste al texto */
  line-height: 1.9;
  border-radius: 10px; /* Redondea las esquinas */
  position: relative; /* Necesario para posicionar correctamente la cola de la nube de diálogo */
  background-color: #fff; /* Cambia según tus necesidades */
}

.dialogo-texto::before {
  content: "";
  position: absolute;
  bottom: -10px; /* Posiciona la cola en la parte inferior del contenedor */
  left: 50%; /* Centra la cola */
  width: 0;
  height: 0;
  border-left: 10px solid transparent; /* Crea la forma de la cola */
  border-right: 10px solid transparent; /* Crea la forma de la cola */
  border-top: 10px solid #fff; /* Crea la forma de la cola y establece su color */
}

.dialogo-texto span {
  opacity: 0;
  animation: escribir 0.2s forwards;
}


@keyframes escribir {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
  
  
}
