body {
  font-family: "Open Sans", Arial, sans-serif;
  margin: 0;
  background-color: white;
}

/* Estilos generales */
.Titulo {
  font-size: clamp(1.5rem, 5vw, 2.5rem);
  font-family: 'Montserrat', Arial, sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-weight: bold;
}

.SubTitulo {
  text-align: center;
  color: rgb(174, 109, 202);
  font-size: 1.5rem;
  font-style: italic;
}

.Text-center {
  text-align: center;
}

.Text-white {
  color: white;
}



/* estilos para el contador*/
.contenedor {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
  text-align: center;
  padding: 10px;
}

.texto p {
  font-family: 'Montserrat';
  font-size: 32px;
  color: black;
  margin: 0;
  line-height: 1.2;
}

.resaltado {
  font-weight: bold;
  color: #b100ff;
}

.contador {
  display: flex;
  gap: 15px;
}

.tiempo {
  background-color: #e5e5e5;
  padding: 20px 25px;
  border-radius: 15px;
  text-align: center;
  min-width: 80px;
}

.numero {
  display: block;
  font-size: 40px;
  font-weight: bold;
}

.etiqueta {
  font-size: 20px;
  font-weight: bold;
}

/* Responsivo */
@media (max-width: 600px) {
  .texto p {
    font-size: 24px;
  }

  .numero {
    font-size: 32px;
  }

  .etiqueta {
    font-size: 16px;
  }

  .tiempo {
    padding: 5px 10px;
    min-width: 70px;
  }

  .contenedor {
    gap: 20px;
  }
}

/*hero*/

.hero {
  background-color: black;
}

.container {
  padding: 40px 20px;
  max-width: 1000px;
  margin: auto;
}

.bold {
  font-weight: bold;
}

.purple {
  color: #b734f8;
}

.subtexto {
  font-size: 1.1rem;
  color: #ddd;
  margin-bottom: 30px;
  text-align: center;
}

.video-wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9 ratio */
  margin-bottom: 30px;
}

.video-wrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 12px;
}

.contenedor-boton {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 20px;
  text-align: center;
}

.btn {
  display: inline-block;
  background-color: #b734f8;
  color: white;
  padding: 14px 28px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  box-shadow: 0 0 10px #b734f8;
  transition: background 0.3s;
  justify-content: center;
}

.btn:hover {
  background-color: #a020e0;
}

.crypto {
  margin-top: 20px;
  font-size: 0.9rem;
  color: #ccc;
}

.crypto a {
  color: #b734f8;
  text-decoration: none;
}

.crypto a:hover {
  text-decoration: underline;
}

/* Responsivo */
@media (max-width: 600px) {
  h1 {
    font-size: 1.5rem;
  }

  .subtexto {
    font-size: 1rem;
  }
}

/*cuadro gris*/

.contenedor-gris {
  background-color: gray;
}

.Titulo-tercero {
  text-align: center;
}

p {
  margin-top: 15px;
  font-size: 20px;
  font-weight: 300;
  color: #f0f0f0;
}

.morado {
  color: #9600d6;
  font-weight: 800;
}

.blanco {
  color: white;
  font-weight: 800;
}

.lista-moderna ul {
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: 600px;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.lista-moderna li {
  background-color: gray;
  color: #ffffff;
  padding: 15px 20px;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  align-items: start;
  gap: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: transform 0.2s;
}

.lista-moderna li:hover {
  transform: scale(1.02);
}

.lista-moderna li span {
  color: #4ade80;
  /* verde lima */
  font-weight: bold;
  font-size: 1.3rem;
  flex-shrink: 0;
}


/*-----------------------------parte de los videos-------------------------------*/
.seccion-galeria {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: black;
  padding: 40px 20px;
  gap: 20px;
}

.fila-superior,
.fila-inferior {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

.cuadro-vertical {
  position: relative;
  width: 14vw;
  /* ajusta el tamaño al ancho del viewport */
  aspect-ratio: 9 / 16;
  background-color: #222;
  border: 2px solid white;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .cuadro-vertical {
    width: 39vw;
  }
}

.cuadro-vertical video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Asegura que el video se recorte para llenar el espacio sin deformarse */
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.cuadro-horizontal {
  position: relative;
  width: 320px;
  height: 180px;
  background-color: #222;
  border: 2px solid white;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 320px) {
  .cuadro-horizontal {
    width: 220px;
    height: 123.75px;
  }
}

.cuadro-horizontal video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}


.texto-superior {
  position: absolute;
  top: 15px;
  left: 15px;
  font-size: 18px;
  font-weight: bold;
  color: white;
  text-shadow: 1px 1px 2px black;
}

.texto-centro {
  position: absolute;
  bottom: 15px;
  left: 15px;
  font-size: 22px;
  font-weight: bold;
  color: orange;
  text-shadow: 1px 1px 2px black;
}

/*otra parte*/
.section-programa {
  background: black;
  padding-bottom: 5%;
}

.programa {
  background: linear-gradient(to right, #585050, #2c2c2c);
  color: #fff;
  border-radius: 20px;
  padding: 2rem;
  max-width: 900px;
  margin: 0 auto;
  font-family: Arial, sans-serif;
}

.programa-header {
  text-align: center;
  margin-bottom: 2rem;
}

.programa-header .etiqueta {
  background: #2c2c2c;
  color: #ccc;
  padding: 0.2rem 0.8rem;
  border-radius: 15px;
  font-size: 0.9rem;
  display: inline-block;
}

.programa-header h2 {
  font-size: 2rem;
  margin-top: 1rem;
}

.programa-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

.programa-grid .item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.programa-grid .item img {
  width: 40px;
  height: 40px;
}

.programa-grid .item-grande {
  grid-column: 1 / -1;
}

.programa-footer {
  text-align: center;
  margin-top: 2rem;
}


.programa-footer p {
  font-size: 0.9rem;
  color: #ccc;
  margin-top: 0.5rem;
}

/* Responsive */
@media (max-width: 768px) {
  .programa-grid {
    grid-template-columns: 1fr;
  }

  .programa-grid .item-grande {
    grid-column: auto;
  }

  .programa-header h2 {
    font-size: 1.5rem;
  }
}

/*Imagen-presentacion*/

.Text-presentation {
  text-align: center;
}

.Text-presentation h1 {
  font-size: clamp(1.5rem, 5vw, 2.5rem);
  color: #000000;
  margin-bottom: 20px;
}

.container-background {
  background: linear-gradient(to top, #b300ff36, rgb(255, 255, 255));
}

/*sobre nosotros*/
.SobreAbout {
  display: flex;
  /*divide el div en dos*/
}

.BoxLeft,
.BoxRight {
  flex: 1;
}

.BoxLeft {
  display: flex;
  flex-direction: column;
  background-color: #000000;
  color: white;
}

.BoxLeft li {
  color: white;
  text-align: left;
}

.BoxRight {
  display: flex;
  /*hace flexible un contenedor*/
  align-items: center;
  /*alinea verticalmente*/
  justify-content: center;
  /*alinea horizontalmente*/
}

.BoxRight img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.neonText {
  color: #fff;
  text-shadow:
    0 0 1px #fff,
    0 0 2px #fff,
    0 0 10px #bb56ff,
    0 0 15px #bb56ff,
    0 0 20px #bb56ff;
}


.fontBlue {
  /*DEGRADADO DE SPAN*/
  background: linear-gradient(to right, #bb56ff, #9d00bd);
  background-clip: text;
  /*Para que se aplique al texto*/
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .SobreAbout {
    flex-direction: column;
    text-align: center;
  }

  .BoxLeft,
  .BoxRight {
    width: 100%;
  }

  .BoxRight img {
    width: 100%;
    max-width: 300px;
    /* Ajusta el tamaño máximo de la imagen */
  }

}


/*cuadro flotante*/
.oferta-flotante {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  background: #0c0019;
  color: white;
  padding: 20px 30px;
  border-radius: 20px;
  box-shadow: 0 0 20px rgba(163, 80, 255, 0.3);
  display: flex;
  align-items: center;
  gap: 20px;
  z-index: 9999;
  border: 1px solid rgba(163, 80, 255, 0.3);
}

.precio-anterior {
  text-decoration: line-through;
  font-size: 20px;
  color: white;
  opacity: 0.7;
}

.precio-actual {
  font-size: 32px;
  font-weight: bold;
  color: #a350ff;
}

.boton-accede {
  background: linear-gradient(to right, #7f3cff, #a350ff);
  border: none;
  padding: 10px 25px;
  border-radius: 10px;
  color: white;
  font-size: 18px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.boton-accede:hover {
  background: linear-gradient(to right, #a350ff, #7f3cff);
}

@media (max-width: 600px) {
  .oferta-flotante {
    left: 40%;
  }

}



/*Carrousel*/

.section-testimonios {
  background: linear-gradient(to bottom, #000000, #ffffff);
}

.carousel {
  position: relative;
  width: 100%;
  max-width: 600px;
  overflow: hidden;
  margin: auto;
}

.carousel-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.carousel img {
  width: 100%;
  flex-shrink: 0;
}

.prev,
.next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
  font-size: 24px;
}

.prev {
  left: 10px;
}

.next {
  right: 10px;
}

/*footer*/
.footer {
  padding-bottom: 45px;
}

.container-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  padding: 40px 0;
  flex-wrap: wrap;
  /* Para que se acomode en pantallas pequeñas */
}

.footer-texto {
  flex: 1;
  text-align: left;
  color: #333;
}

.footer-titulo {
  color: white;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 15px;
  font-family: 'Montserrat', sans-serif;
}

.footer-logo img {
  max-width: 150px;
  height: auto;
}