/* estilos generales */

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
  background-color: whitesmoke;
}

main {
  flex: 1;
  height: fit-content;
  margin-top: -100px;
  z-index: 1;
  overflow: visible;
  position: relative;
}

/* fuentes */
:root {}

.main-container {
  width: 1278px;
  height: 628px;
  background-color: black;
  border-radius: 28px;
  margin: 8px auto;
  z-index: 1;
  font-family: "JetBrains Mono";
  color: whitesmoke;
}

/* footer */

.footer-container-nav {
  width: 80%;
  height: 100px;
  background-color: black;
  margin: 40px auto;
  border-radius: 65px;
}

.footer-container-nav ul {
  gap: 1rem;
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  align-items: center;
}

.footer-container-nav li {
  list-style: none;
}

.footer-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: fit-content;
  font-family: "JetBrains Mono";
  font-size: small;
}

.index-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 100%;
  border-style: solid;
  border-color: whitesmoke;
  border-width: 4px;
  background-color: black;
  margin-top: -68px;
}

.index-logo img {
  width: 55px;
  height: fit-content;
}

.index-logo:hover {
  transform: translateY(-12px) scale(1.1);
}

/* HEADER*/

/* -----------------------------------------------------
esto está puesto para ocupar un h1 
    con el titulo entero en la pagina y no 
    repetir h1 (por las buenas prácticas), pero
    poder mantener el diseño del logo al mismo
    tiempo, por eso está oculto el h1 principal,
    pense en usar un recrangulo blanco que lo tape
    o poner el texto en blanco
    pero lei que google te penaliza por ser no accesible
    o por los que buscan engañar con clickbait del contenido
    de la web al usuario*/
.titulo-para-seo {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
}



/* --------------------------------------------------*/
.header-container {
  align-items: center;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10;
  position: relative;
}

.header-subcontainers {
  display: flex;
  flex-direction: row;

  justify-content: center;
}

.title-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 10px;
}

.subtitle-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  height: fit-content;
  align-items: flex-start;
  gap: 0;
}

.subtitle {
  gap: 0;
  padding: 0%;
}

.header-nav-container {
  display: flex;
  flex-direction: row;
  list-style: none;
  gap: 1rem;
  margin-top: 76px;
}

.header-nav-container a {
  text-decoration: none;
  font-family: "JetBrains Mono";
  font-size: 1.2rem;
  display: inline-block;
  transition: all 0.3s ease;
  background-color: black;
  width: 154px;
  height: 38px;
  border-radius: 28px 28px 0 0;
  text-align: center;
  padding-top: 15px;
  color: whitesmoke;
}

.header-nav-container a:hover {
  transform: translateY(-16px) scale(1.02);
}

h2 {
  font-family: "JetBrains Mono";
  font-size: 2.5rem;
  font-weight: 800;
  margin: 0;
}

/* Main page aka Index/inicio */
.inicio-container {
  width: 1278px;
  height: 628px;
  background-color: black;
  border-radius: 28px;
  margin: 8px auto;
  z-index: 1;
  font-family: "JetBrains Mono";
  color: whitesmoke;
}

.lupa {
  position: absolute;
  animation: float 3s ease-in-out infinite;
  top: 10%;
  right: 30%;
  animation-delay: 1s;
}

.boton-inicio img {
  width: 64px;
  height: auto;
}

.boton-inicio {
  position: absolute;
  background-color: transparent;
  border: none;
  cursor: pointer;
  margin: 50% 0 0 40%;
}

@keyframes float {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-20px) rotate(10deg);
  }

  80% {
    transform: translateY(10px) rotate(25deg);
  }

  100% {
    transform: translateY(0);
  }
}

.inicio-texto-bienvenida {
  position: absolute;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-content: flex-start;
  gap: 0;
  margin: 10rem 0 0 20rem;
}

/* seccion reservas---------------------------------------------------------------------------*/
.inicio-servicios {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: fit-content;
  margin-top: 130px;
}

.escalera-grande {
  width: 1082px;
  height: 628px;
  background-color: black;
  border-radius: 52px;
  color: whitesmoke;
  margin-top: -30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* animación de la escalera -------------------------------*/
.escalera-grande {
  width: 1082px;
  height: 628px;
  background-color: black;
  border-radius: 52px;
  color: whitesmoke;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
}

.escalera-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

/* Palos verticales */
.palo-izquierdo,
.palo-derecho {
  width: 34px;
  height: 300px;
  background: white;
  position: absolute;
  top: 0;
  opacity: 0;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 1s ease-out, opacity 1s ease-out;
}

.palo-izquierdo {
  left: -37px;
}

.palo-derecho {
  right: -37px;
}


.escalera-activa .palo-izquierdo,
.escalera-activa .palo-derecho {
  opacity: 1;
  transform: scaleY(1);
}

.peldaño {
  width: 160px;
  height: 18px;
  background: white;
  margin: 40px 0;
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.8s ease-out, opacity 0.8s ease-out;
  border-radius: 0px;
}

/* Peldaños activos (armado) */
.escalera-activa .peldaño {
  opacity: 1;
  transform: scaleX(1);
}

/* --- Armado: peldaños aparecen de arriba a abajo --- */
.escalera-activa .peldaño:nth-of-type(2) {
  transition-delay: 0.2s;
}

.escalera-activa .peldaño:nth-of-type(3) {
  transition-delay: 0.4s;
}

.escalera-activa .peldaño:nth-of-type(4) {
  transition-delay: 0.6s;
}

/* --- Desarmado: peldaños se van de abajo a arriba --- */
.escalera-container:not(.escalera-activa) .peldaño:nth-of-type(4) {
  transition-delay: 0.2s;
}

.escalera-container:not(.escalera-activa) .peldaño:nth-of-type(3) {
  transition-delay: 0.4s;
}

.escalera-container:not(.escalera-activa) .peldaño:nth-of-type(2) {
  transition-delay: 0.6s;
}

/* --- Palos se van últimos, un poco después de los peldaños --- */
.escalera-container:not(.escalera-activa) .palo-izquierdo,
.escalera-container:not(.escalera-activa) .palo-derecho {
  transition-delay: 1s;
  /* esperan a que los peldaños se oculten */
}

/* FIN animación de la escalera -------------------------------*/
.pasos-reserva {
  width: 1082px;
  height: 1327px;
  background-color: black;
  border-radius: 28px;
  color: whitesmoke;
  margin: 29px auto;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}

.escalera1 {
  width: 194px;
  height: auto;
  position: absolute;
  top: 33%;
  left: 30%;
  animation: float 4s ease-in-out infinite;
}

.escalera2 {
  width: 194px;
  height: auto;
  position: absolute;
  top: 44%;
  left: 48%;
  animation: float 5s ease-in-out infinite;
}

.escalera3 {
  width: 250px;
  height: auto;
  position: absolute;
  top: 53%;
  left: 46%;
  animation: float 6s ease-in-out infinite;
  transform: rotate(80deg);
}

@keyframes float {
  0% {
    transform: translateY(0) rotate(0deg);
  }

  50% {
    transform: translateY(60px) rotate(80deg);
  }

  100% {
    transform: translateY(0) rotate(0deg);
  }
}

.typewriter {
  font-family: "JetBrains Mono", monospace;
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
  border-right: 0.1em currentColor;

  --n: 33;
  /* cantidad de caracteres */

  animation: typing 4s steps(var(--n)) infinite alternate,
    caret 0.7s step-end infinite;
}

@keyframes typing {
  from {
    width: 0;
  }

  to {
    width: calc(var(--n) * 1ch);
  }
}

@keyframes caret {
  50% {
    border-color: transparent;
  }
}

.pasos-reserva> :first-child {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  margin: 100px 100px auto 100px;
  gap: 90px;
}

.pasos-reserva> :nth-child(2) {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  margin: auto 100px auto 100px;
  gap: 80px;
}

.pasos-reserva> :nth-child(3) {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: auto 100px auto 100px;
  justify-content: space-around;
  gap: 90px;
}

.pasos-reserva> :last-child {
  display: flex;
  flex-direction: row;
  align-self: flex-end;
  align-items: center;
  margin: auto 100px auto 100px;
  justify-content: space-evenly;
  gap: 140px;
}

.casilla-tablero {
  width: 200px;
  height: 200px;
  background-color: whitesmoke;
  color: black;
  font-family: "JetBrains Mono";
  font-size: 40px;
  font-weight: bolder;
}

/* Textimonios--------------------------------------------------- */
.testimonios-container {
  width: 100%;
  height: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 119px;
}

.reserva-texto {
  font-family: "JetBrains Mono";
  font-weight: lighter;
  letter-spacing: 1rem;
  font-size: 20px;
}

.testimonios-encabezado {
  background-color: black;
  border-radius: 13px;
  width: 922px;
  height: 177px;
  display: flex;
  flex-direction: row;
  align-self: flex-end;
  margin-right: 16%;
}

.testimonios-title {
  font-family: "JetBrains Mono";
  font-size: 14px;
  font-weight: 800;
  color: whitesmoke;
  text-align: center;
  border-style: outset;
  border-color: whitesmoke;
  border-radius: 9px;
  letter-spacing: 1rem;
  width: 873px;
  height: 121px;
  margin: 3% auto;
}

.testimonios-cards {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem;
  width: 100%;
  height: fit-content;
  margin: -60px auto 27px 16%;
}

.testimonio-card {
  width: 394px;
  height: 264px;
  background-color: black;
  border-radius: 102px 111px 98px 12px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  box-shadow: 0 10px 30px rgba(255, 255, 255, 0.1),
    /* brillo suave claro */
    0 0 20px rgba(255, 255, 255, 0.15);
  /* efecto glow alrededor */
}

.testimonio-card:hover {
  /* efecto glow alrededor */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  background-color: whitesmoke;
}

.testimonio-card p {
  font-family: "JetBrains Mono";
  display: none;
}

.testimonio-avatar-usuario {
  visibility: visible;
  width: 77px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #d9d9d9;
  border-radius: 102px 0 0 111px;
}

.testimonio-card:hover * {
  visibility: hidden;
  display: none !important;
  margin: 0 !important;
}

.testimonio-card:hover p {
  visibility: visible !important;
  display: block !important;
  height: fit-content;
  padding: 0 10% 0 10%;

  font-weight: lighter;
  font-size: 14px;
  color: black;
  text-align: center;
}

.testimonio-card:hover p strong {
  visibility: visible !important;
  display: block !important;
  font-weight: bold;
}

.testimonios-searchbar {
  width: 797px;
  height: 99px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-evenly;
  background-color: black;
  border-radius: 65px;
  align-self: flex-start;
  margin-left: 18%;
}

.testimonios-searchbar>input {
  appearance: none;
  outline: none;
  border: none;
  background: none;
  font-family: "JetBrains Mono";
  color: whitesmoke;
  font-size: 40px;
  font-weight: lighter;
}

.testimonios-searchbar>input:placeholder-shown {
  animation: parpadeo 1s steps(2, start) infinite;
}

@keyframes parpadeo {
  to {
    opacity: 0;
  }
}

/* sala personalizada sección y cards -------------------------------------------------------------*/
.sala-personalizada-container {
  width: 100%;
  height: 1000px;
  margin-bottom: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 4;
  position: relative;
}

.sala-personalizada-firstcolumn {
  width: 1104px;
  height: fit-content;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: flex-end;
}

.comofunciona {
  width: 235px;
  height: 79px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 45px;
  border-style: solid;
  border-width: 16px;
  border-color: whitesmoke;
  background-color: black;
  margin-right: 12%;
  margin-bottom: -38px;
  z-index: 230;
}

.comofunciona-button:hover {
  width: 235px;
  height: 79px;
  background-color: whitesmoke;
  color: black;
  font-family: "JetBrains Mono";
  font-size: 16px;
  font-weight: lighter;
  cursor: pointer;
}

.comofunciona-button button {
  background-color: transparent;
  border: none;
  color: whitesmoke;
  font-family: "JetBrains Mono";
  font-size: 20px;
  font-weight: lighter;
}

.sala-personalizada-encabezado {
  width: 603px;
  height: 116px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: black;
  border-radius: 77px 26px 0 0;
  margin-top: 10px;
  margin-bottom: -4px;
}

.sala-personalizada-title {
  font-family: "JetBrains Mono";
  font-size: 15px;
  font-weight: lighter;
  color: whitesmoke;
  background-color: transparent;
  text-align: center;
  letter-spacing: 1rem;
  width: 573px;
  height: 71px;
}

.sala-personalizada-container-base {
  width: 1104px;
  height: 550px;
  border-radius: 77px 0px 6px 26px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-evenly;
  background-color: black;
  position: relative;
}

.sala-personalizada-baseblanco {
  background-color: whitesmoke;
  width: 1104px;
  height: 420px;
  border-radius: 77px 0 6px 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  margin-right: 30px;

  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.25);
  position: absolute;
}

.sala-personalizada-bar {
  border-width: 0.4px;
  border-style: solid;
  border-color: rgb(41, 41, 41);
  width: 976px;
}

.texto-eventos {
  font-family: "JetBrains Mono";
  font-size: 60px;
  text-align: left;
  font-weight: bolder;
  color: black;
  width: 900px;
  height: fit-content;
  margin: auto;
  position: absolute;
  z-index: 20;
  top: 10%;
  left: 10%;
}

.clip-personalizada {
  width: 50px;
  height: auto;
  position: absolute;
  top: -5%;
  left: 40%;
  z-index: 30;
}

.texto-eventos2 {
  font-family: "JetBrains Mono";
  font-size: 32px;
  text-align: center;
  font-weight: lighter;
  color: whitesmoke;
  background-color: black;
  width: 400px;
  height: 92px;
  margin: auto;
  position: absolute;
  z-index: 60;
  top: 30%;
  right: 30%;
  cursor: pointer;
  transform: rotate(-16deg);
}

.texto-eventos2:hover {
  /* Al hacer hover: SE APLASTA hacia abajo */
  transform: rotate(-16deg) translateY(10px) scale(0.98);
  box-shadow:
    0 4px 8px rgba(0, 0, 0, 0.2),
    0 2px 4px rgba(0, 0, 0, 0.1);
}

.fondo-botton {
  background-color: whitesmoke;
  width: 300px;
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  margin-right: 60px;
  position: relative;

  top: 55%;
  z-index: 220;
}

.fondo-botton button {
  background-color: black;
  border-radius: 20px 26px 77px 71px;
  width: 189px;
  height: 65px;
  border-style: none;
  margin-top: -60px;
  z-index: 400;
  transform: translateY(0);
}

.fondo-botton button:hover {
  transform: translateY(30px);
  transition: 0.3s ease-in-out;
  cursor: pointer;
}

.descuento-sticker {
  font-family: "JetBrains Mono";
  text-align: center;
  color: whitesmoke;
  background-color: black;
  width: 180px;
  height: 180px;
  position: absolute;
  z-index: 40;
  top: 10%;
  right: 10%;
  border-radius: 100%;
  border-width: 4px;
  border-color: black;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: rotate(12deg);
}

/* cambio de card al clikear el boton, estilo de card */

.sala-personalizada-parte-dos {
  display: flex;
  flex-direction: column;
  font-family: "JetBrains Mono";
  margin: 20px auto;
  gap: 10px;
}

.sala-personalizada-dos-arriba {
  width: 420px;
  height: 78px;
  background-color: whitesmoke;
  border-radius: 38px;
  text-align: center;
  align-self: flex-start;

}

.sala-personalizada-dos-abajo {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  gap: 30px;
}

.descripcion-comofunciona {
  width: 652px;
  height: 410px;
  border-radius: 38px;
  text-align: center;
  background-color: whitesmoke;
}

.slogan-comofunciona {
  width: 310px;
  height: 314px;
  background-color: whitesmoke;
  border-radius: 43px;
  text-align: center;
}

.cambioCardInvisible {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  top: 0%;
  position: absolute;
}

.cambioCardVisible {
  visibility: visible;
  opacity: 1;
  position: absolute;
  z-index: 100;
  top: 0%;

}

.inicio-sala-personalizada {
  position: relative;
}

.calltoaction {
  position: absolute;
  text-align: center;
  top: 8%;
  right: 3%;
  z-index: 1;
}

.calltoactionInvisible {
  visibility: hidden;
  transform: translateY(0);
  border-radius: 50% 50% 0 0;
}

.calltoactionVisible {
  visibility: visible;
  /* posición final */
}

.calltoactionMove {
  transform: translateY(100px);
  transition: transform 0.8s ease, opacity 0.8s ease;
  border-radius: 0 0 0 0;
}

.calltoactionStyle {
  position: relative;
  display: inline-block;
  padding: 10px 40px;
  font-family: "JetBrains Mono";
  color: black;
  text-decoration: none;
  text-align: center;
  z-index: 1;
  background-image: url('../assets/pedacitopapelIndex.svg');
}

/* seccion sala ------------------------------------------*/
.flexcentrado {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;

}

.calendar {
  margin: 30px;
}

.reservaContainer {
  display: flex;
  flex-direction: row;
  overflow: hidden;
  position: relative;
  height: 628px;
}

.ruedaContainer {
  width: 660px;
  height: fit-content;
}

.rueda {
  width: 660px;
  height: 600px;
  border: 1px solid whitesmoke;
  border-radius: 50%;
  position: absolute;
  right: 70%;
  top: 4%;
}


.reservaSalaBotones {
  font-family: "JetBrains Mono";
  color: whitesmoke;
  background: none;
  border: none;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  font-size: 32px;
  font-weight: lighter;
  letter-spacing: 3px;
  cursor: pointer;
}

.boton-container {
  display: flex;
  flex-direction: column;
}

.rayitaBoton {
  opacity: 0;
  width: 0;
  height: 2px;
  background-color: whitesmoke;
  margin: 0 auto;
  display: block;
  transition: all 0.3s ease;
}

.boton-container:hover .rayitaBoton {
  opacity: 1;
  width: 130px;
}

/* estilizar calendario */
[data-vc-theme=dark].vc {
  --tw-bg-opacity: 1;
  background-color: #545454 !important;
  color: #fff;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
}

[data-vc-theme=dark] .vc-header__content,
[data-vc-theme=dark] .vc-month,
[data-vc-theme=dark] .vc-year {
  color: #fff;
  font-family: "JetBrains Mono";
  font-weight: lighter;
}

[data-vc-theme=dark] .vc-date[data-vc-date-today] .vc-date__btn {
  --tw-bg-opacity: 1;
  background-color: #272727;
  color: whitesmoke;
  font-family: "JetBrains Mono";
  font-weight: lighter;
}

[data-vc-theme=dark] .vc-date[data-vc-date-holiday] .vc-date__btn,
[data-vc-theme=dark] .vc-date[data-vc-date-weekend] .vc-date__btn {
  color: whitesmoke;
  font-family: "JetBrains Mono";

}

[data-vc-theme=dark] .vc-date[data-vc-date-selected] .vc-date__btn {
  --tw-bg-opacity: 1;
  background-color: #0C0C0C;
  color: #fff;
  font-family: "JetBrains Mono";

}

[data-vc-theme=dark] .vc-date__btn {
  --tw-bg-opacity: 1;
  background-color: transparent;
  color: whitesmoke;
  font-family: "JetBrains Mono";
  font-weight: lighter;
}

[data-vc-theme=dark] .vc-week__day[data-vc-week-day-off] {
  color: whitesmoke;
  font-family: "JetBrains Mono";

}

[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-month=next] .vc-date__btn,
[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-month=prev] .vc-date__btn,
[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-month=next] .vc-date__btn,
[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-month=prev] .vc-date__btn {
  --tw-bg-opacity: 1;
  background-color: #272727;
  color: #475569;
  font-family: "JetBrains Mono";

}

[data-vc-theme=dark] .vc-week__day {
  color: #fff;
  font-family: "JetBrains Mono";
  font-weight: lighter;
}


/* boleta para confirmar datos de reserva*/
.boletaContainer {
  display: flex;
  flex-direction: column;
  align-content: center;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 500px;
  gap: 10px;
  background-color: #F1F1F1;
  margin: auto;
}

.boletaTitleContainer {
  display: flex;
  flex-direction: row;
  font-family: "JetBrains Mono";
  justify-content: flex-end;
  align-items: flex-start;
  text-align: center;
  font-size: 22px;
}

.presupuestoContainer {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  font-family: "JetBrains Mono";
  font-size: 12px;
  gap: 30%;
}

.preciospresupuesto {
  text-align: right;

}

.datosReserva h3 {
  font-family: "JetBrains Mono";
  font-size: 18px;
  text-align: left;
}

.raya {
  display: inline-block;
  width: 275px;
  height: 1px;
  background-color: #000;
  vertical-align: middle;
}

.btn-hamburguesa {
  position: relative;
  width: 30px;
  height: 24px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.btn-hamburguesa span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  border-radius: 3px;
  background: #000;
  /* color negro */
  transition: transform 0.3s ease, top 0.3s ease, opacity 0.3s ease;
}

.btn-hamburguesa span:first-child {
  top: 6px;
  /* primera raya */
}

.btn-hamburguesa span:last-child {
  top: 16px;
  /* segunda raya */
}

/* Hover → cruz */
.btn-hamburguesa:hover span:first-child {
  top: 11px;
  transform: rotate(45deg);
}

.btn-hamburguesa:hover span:last-child {
  top: 11px;
  transform: rotate(-45deg);
}

.reservaSalaBotonesBoleta {
  font-family: "JetBrains Mono";
  color: black;
  background: none;
  border: none;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  font-size: 20px;

}

.botonesReserva {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.mensajereserva {
  font-family: "JetBrains Mono";
  color: black;
  text-align: center;
}

.rayitaBotonNegra {
  opacity: 0;
  width: 0;
  height: 2px;
  background-color: black;
  margin: 0 auto;
  display: block;
  transition: all 0.3s ease;
}

.rayitaNegra:hover .rayitaBotonNegra {
  opacity: 1;
  width: 130px;
}

/* FIN seccion sala ------------------------------------------*/

/* seccion SALA SECRETA ------------------------------------------*/
.text-base-container {
  color: whitesmoke;
  font-family: "JetBrains Mono";
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 0;
}

.nubes-container {
  width: 1278px;
  height: 630px;
  position: absolute;
  z-index: 100;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.particles-js-canvas-el {
  border-radius: 28px;
}

/* FIN seccion SALA SECRETA------------------------------------------*/

/* seccion CONTACTO ------------------------------------------*/
.contacto-container {
  display: flex;
  flex-direction: column;
  background-color: whitesmoke;
  width: 525px;
  height: 402px;
  margin: auto;
  position: absolute;
  top: 26%;
  left: 37%;
}

.papel-contacto-container {
  width: 525px;
  height: 402px;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-evenly;
  transform: translateY(-10px);
  transition: transform 0.8s ease, opacity 0.8s ease;
}

.papel-contacto {
  font-family: "JetBrains Mono";
  color: whitesmoke;
  background-color: black;
  width: 85px;
  height: 216px;
}

.papel-contacto:hover {
  transform: translateY(8px);
  box-shadow:
    0 4px 8px rgba(0, 0, 0, 0.2),
    0 2px 12px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}

.papel-contacto-animacion {
  transform: translateY(216px);
  /* posición final */
  transition: transform 0.8s ease, opacity 0.8s ease;
}

.aparecerDatos {
  opacity: 0;
  transition: opacity 1s ease-in-out;
  visibility: hidden;
}

.datos-contacto {
  font-family: "JetBrains Mono";
  color: whitesmoke;
  text-align: center;
  font-size: 10px;
  margin: 40px auto;
  transform: rotate(90deg);
  visibility: visible;
  opacity: 1;
}

.contacto-texto {
  font-family: "JetBrains Mono";
  text-align: left;
  color: black;
  width: 400px;
  height: 92px;
  margin: 26px 0 0 30px;
  position: absolute;

}


.mapa-contacto {
  position: absolute;
  z-index: 150;
  opacity: 0;
  visibility: hidden;
}

.ocultar-mapa {
  opacity: 1;
  position: absolute;
  z-index: 50;
  visibility: visible;
  top: -68%;
}

.footer-contacto {
  margin-bottom: 300px;
}

/* FIN seccion CONTACTO------------------------------------------*/

/* seccion REGISTRARSE ------------------------------------------*/

.registrarse-form-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 120px;
  justify-content: space-evenly;
}

.registrarse-second-column {
  flex-direction: row;
  display: flex;
  gap: 100px;
  padding: 3%;
  font-stretch: 14%;
  font-stretch: extra-expanded;
  font-weight: lighter;
}

.registrarse-third-column {
  flex-direction: row;
  display: flex;
  gap: 100px;
  padding: 3%;
  font-stretch: extra-expanded;
  font-weight: lighter;
}

.registrarse-input {
  font-family: "JetBrains Mono";
  color: black;
  background-color: whitesmoke;
  border-radius: 11px;
  width: 242px;
  height: 65px;
  text-align: center;
}

.registrarse-input>p {
  margin: 5px auto;
}

.registrarse-input-main {
  font-family: "JetBrains Mono";
  color: black;
  background-color: whitesmoke;
  border-radius: 11px;
  width: 490px;
  height: 133px;
  text-align: center;
  margin: auto auto 3% auto;
}

.registrarse-input>input,
.registrarse-input-main>input {
  font-size: 12px;
  appearance: none;
  outline: none;
  border: none;
  background: none;
  font-family: "JetBrains Mono";
  font-weight: lighter;
  text-align: center;
  padding: 0%;
  border-bottom: 0.4px solid black;

}

/* la barrita */
.registrarse-bar {
  width: 180px;
  color: black;
  height: 3px;
  z-index: 10;
}

.registrarse-boton {
  font-family: "JetBrains Mono";
  color: black;
  background-color: whitesmoke;
  width: 190px;
  height: 65px;
  border-radius: 11px;
  border-style: none;
  text-align: center;
  margin: 3% auto;
  cursor: pointer;
  text-decoration: none;
}

.registrarse-boton-container {
  display: flex;
  justify-content: center;
  width: 100%;
}

/* FIN seccion REGISTRARSE ------------------------------------------*/

/* seccion LOGIN  ------------------------------------------*/
/* first layer, las polaroid*/
.fotos-container-logIn {
  position: absolute;
  z-index: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 50px;
  padding-top: 70px;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.card-logIn {
  background: whitesmoke;
  width: 200px;
  height: 223px;
}

.card-logIn-dentro {
  background: #ececec;
  width: 160px;
  height: 155px;
  margin: 20px auto;
}

.fotos-container-column {
  display: flex;
  flex-direction: row;
  gap: 100px;
  justify-content: center;
  align-content: center;
  margin: auto;
}

/* Posicionamiento de polaroids */
.polaroid-1 {
  transform: rotate(-8deg)translateX(-36px)translateY(12px);
}

.polaroid-2 {
  transform: rotate(-6deg)translateX(32px);
}

.polaroid-3 {
  transform: rotate(12deg)translateX(-42px)translateY(8px);
}

.polaroid-4 {
  transform: rotate(-2deg)translateY(24px);
}

.polaroid-5 {
  transform: rotate(-8deg)translateX(140px);

}

/* second layer, el formulario de ingreso*/

.logIn-container {
  display: flex;
  justify-content: center;
}

.logIn-formulario-container {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  align-content: center;
}

.login-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr 1fr 1fr;
  /* 3 columnas */
  grid-template-rows: auto auto auto;
  /* 3 filas */
  grid-template-areas:
    "agent agent clasificado"
    /* fila 1 */
    "secret ingresar clasificado"
    /* fila 2 */
    "secret registrar olvide";
  /* fila 3 */
}

/* Áreas */
.agent {
  grid-area: agent;
  width: 490px;
  height: 133px;
  background-color: whitesmoke;
  font-family: "JetBrains Mono";
  color: black;
  border-radius: 11px;
  text-align: center;
  font-size: 32px;
  font-weight: lighter;
  margin: 45px auto auto 350px;
  padding: 0%;
}

.logIn-input {
  font-size: 12px;
  appearance: none;
  outline: none;
  border: none;
  background: none;
  font-family: "JetBrains Mono";
  font-weight: lighter;
  text-align: center;
  border-bottom: 0.4px solid black;
}

.clasificado {
  grid-area: clasificado;
}

.secret {
  grid-area: secret;
  transform: rotate(4deg)translateX(362px)translateY(32px);
}

.ingresar {
  grid-area: ingresar;
  transform: rotate(-8deg)translateY(120px)translateX(300px);
}

.registrar {
  grid-area: registrar;
  transform: rotate(-8deg)translateY(120px)translateX(316px);
  font-family: "JetBrains Mono";
  color: black;
  background-color: whitesmoke;
  border-radius: 11px;
  width: 190px;
  height: 65px;
  text-align: center;

}

.olvide {
  grid-area: olvide;
  transform: rotate(-8deg)translateY(130px)translateX(150px);
  width: 150px;
  height: 50px;
}

.olvide-boton {
  font-family: "JetBrains Mono";
  color: black;
  background-color: whitesmoke;
  border-radius: 11px;
  border-style: none;
  text-align: center;
  margin: 3% auto;
  cursor: pointer;
  font-size: 12px;
}

.clasificado {
  width: 300px;
  height: 64px;
  border-radius: 11px;
  text-align: center;
  letter-spacing: 12px;
  font-weight: lighter;
  transform: rotate(-8deg)translateY(120px);
  border-color: #333333;
  border-width: 1px;
}

/* FIN seccion LOGIN  ------------------------------------------*/

/* sección perfil logeado */

.card-perfil {
  background: whitesmoke;
  width: 200px;
  height: 223px;
}

.card-perfil-dentro {
  background: #ececec;
  width: 160px;
  height: 155px;
  margin: 20px auto;
}
.perfil-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  gap: 10px;
}

.first-column-perfil {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.second-column-perfil {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.third-column-perfil {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.first-column-perfil-top {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.perfil-board-texto {
  font-family: 'Bored Crayon', sans-serif;
  font-size: 20px;
  color: whitesmoke;
}

.second-column-perfil-bottom {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-around;
}

.profile-photo {
  position: relative;
  z-index: 36;
  transform: translateX(-72px) ;
}


.card-perfil {
  background: whitesmoke;
  width: 180px;
  height: 200px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.card-perfil-dentro {
  background: #ececec;
  width: 140px;
  height: 140px;
  margin: 20px auto;
}
.firstcardperfil{

  transform: rotate(2deg) translateX(-72px) translateY(8px);
}

.secondcardperfil {
  transform: rotate(1deg) translateX(40px) translateY(-42px);
}
.info-usuario {
  position: absolute;
  z-index: 120;
   top: 36%;     
   display: flex;
   flex-direction: row;
   transform: translateX(-79px);
}
.info-perfil-container {
  display: flex;
  flex-direction: column;
}
.info-usuario-terceracolumna {
  display: flex;
  flex-direction: column;


}
.perfil-bags-texto {
  color:whitesmoke;
  font-family: "JetBrains Mono";
  background-color: #000;
  transform: rotate(-2deg)  translateX(-30px)  translateY(-120px);
}
.estadisticas-usuario-texto {
  color: #000;
  font-family: "JetBrains Mono";
  font-size: 16px; 
  text-align: right;
}
.estadisticas-usuario {
  width: 270px;
  height: 170px;
  transform: translateX(-48px) translateY(-238px);
}
.perfil-button {
  font-family: "JetBrains Mono";
  color: black;
  background: none;
  border: none;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  font-size: 20px;
  transform: rotate(-5deg)  translateX(75px)  translateY(-200px);
}
.logout-button {
  font-family: "JetBrains Mono";
  color: black;
  background: none;
  border: none;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  font-size: 20px;
  transform: rotate(-5deg)  translateX(75px)  translateY(-230px);
}
.logout-button:hover .tachon path {
  stroke-dashoffset: 0;
}
.tachon {
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 30px;
  transform: translateY(-26px);
}

.tachon path {
  stroke-dasharray: 400;
  stroke-dashoffset: 400;
  transition: stroke-dashoffset 1s ease;
}

.perfil-button:hover .tachon path {
  stroke-dashoffset: 0;
}

.salaSecretaCard {
  margin: 3%  auto 6% 35%;
  transform: rotate(12deg);
}
.card-perfil-salaSecretaCard
{
  background: #242424;
  width: 140px;
  height: 140px;
  margin: 20px auto;
}

.saludoUstyle {
  font-family: JetBrains Mono;  
  color: black; 
  font-size: 16px;
   text-align: center;
   width: 200px;
   height: fit-content;
   margin: auto 20px auto;
}
/* FIN sección perfil logeado */