/* CSS RESET */
*{
  min-width: 0;
}
*,*::before, *::after{
  box-sizing: border-box;
}
img, video, svg{
  display: block;
  height: auto;
  max-width: 100%;
}
body {
  margin: 0;
  min-height: 100dhv;
}
h1, h2, h3, h4, h5, h6{
  text-wrap: balance;
  margin: 0;
}
p{
  text-wrap: pretty;
}
b{
  font-weight: bold!important;
}
/* Fonts */
@font-face {
  font-family: 'Uni Neue';
  src: url('../fonts/UniNeueBold.woff2') format('woff2'),
      url('../fonts/UniNeueBold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Uni Neue';
  src: url('../fonts/UniNeueRegular.woff2') format('woff2'),
      url('../fonts/UniNeueRegular.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}


/* Variables */
:root {
  --main-color: #ffe400;
  --secondary-color: #503F93;
  --main-bg-color: #CCCCCC;
  --text-color: #000;
  --px-mobile: 20px;
}
html{
  scroll-behavior: smooth;
}
body{
  font-family: 'Uni Neue', sans-serif;
}
h2{
  font-size: 24px;
  line-height: 30px;
  font-weight: normal;
}
h2 span{
  color: var(--secondary-color);
  font-weight: bold;
}
h3{
  font-size: 21px;
  font-weight: bold;
}
h5{
  font-size: 14px;
}
h6{
  font-size: 16px;
}
.object-cover{
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.mr-auto{
  margin-right: auto;
}
.flex{
  display: flex;
  align-items: center;
}
.flex-inline{
  display: inline-flex;
  align-items: center;
}
.responsive-iframe{
  max-width: 100%;
	padding-top:177%;
	position: relative;
	width: 100%;
}
.responsive-iframe iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.m-hidden{
  display: none;
}


/* slider */
.swiper-button-next, 
.swiper-button-prev{
  color: rgba(255, 255, 255, 0.5);
  display: none;
}
.swiper-button-next:hover, 
.swiper-button-prev:hover{
  color: rgba(255, 255, 255, 1);
}
.swiper-pagination-bullet-active{
  background-color: var(--secondary-color);
}

/* Videos en el slider */
.slider-img video {
  width: 100%;
  height: 100%;
  object-fit: contain; /* Cambiado de cover a contain para ver el video completo */
}

.header{
  display: flex;
  width: 100%;
  justify-content: space-between;
  padding: 10px var(--px-mobile);
  position: fixed;
  z-index: 999;
  background-color: white;
  box-shadow: 10px 0 20px rgba(0, 0, 0, 0.3);
}
.header .main-logo{
  height: 24px;
}
.navbar ul{
  display: flex;
  list-style: none;
  gap: 30px;
  align-items: center;
  margin: 0;
  padding: 0;
}
.navbar ul li a{
  text-decoration: none;
  color: var(--text-color);
}
.navbar ul li a.active{
  text-decoration: underline;
}
.btn{
  padding: 0.75rem 1rem;
  border-radius: 50px;
  color: var(--text-color);
  text-decoration: none;
  display: inline-flex;
  font-size: 14px;
  border:none;
}
.btn b{
  font-weight: bold;
}
.btn-primary{
  background-color: var(--main-color);
}
.btn-secondary{
  background-color: var(--secondary-color);
  color: #fff;
}
.section-hero{
  background-color: var(--main-bg-color);
  min-height: 100svh;
  max-height: 1000px;
  height: auto;
}
.section-hero .swiper{
  height: 100%;
  width: 100%;
}
.slider-item{
  height: 100%;
}
/* Slider 1 */
.slider-1{
  display: flex;
  flex-direction: column;
  background-image: url('../images/trama-hero.png');
  background-position: top;
  background-size: cover;
}
.slider-1 .col-left{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px var(--px-mobile) 50px;
  gap: 1rem;
  order: 2;
}
.slider-1 .col-left{
  order: 1;
}
.slider-1 .col-left .slider-text{
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
}
.slider-1 .col-right{
  height: 50vh;
}
.swiper-slide-active .slider-1 .slider-text{
  animation: fadeInLeft;
  animation-duration: 1.5s;
}
.swiper-slide-active .slider-1 .slider-img{
  animation: fadeInRight;
  animation-duration: 1.5s;
}

/* Slider 2 */
.slider-2{
  display: flex;
  flex-direction: column;
  background-image: url('../images/trama-hero.png');
  background-position: top;
  background-size: cover;
}
.slider-2 .col-left{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px var(--px-mobile) 50px;
  gap: 1rem;
  order: 2;
}
.slider-2 .col-left{
  order: 1;
}
.slider-2 .col-left .slider-text{
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
}
.slider-2 .col-right{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.slider-2 .col-right .phone{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.slider-2 .col-right .phone img{
  width: 56%;
  max-width: 180px;
  top: 60px;
  position: relative;
}
.slider-2 .col-right .brackets{
  width: 60%;
  max-width: 180px;
  position: relative;
  top: 40px;
}
.slider-2 .col-right{
  height: 50vh;
}
.swiper-slide-active .slider-2 .slider-text h2{
  animation: fadeInUp;
  animation-duration: 1.5s;
}
.slider-2 .slider-text h5{
  opacity: 0;
}
.swiper-slide-active .slider-2 .slider-text h5{
  animation: fadeInUp;
  animation-duration: 1s;
  animation-delay: .5s;
  animation-fill-mode: forwards;
}
.slider-2 .slider-text .btn{
  opacity: 0;
}
.swiper-slide-active .slider-2 .slider-text .btn{
  animation: fadeInUp;
  animation-duration: 1s;
  animation-delay: 1s;
  animation-fill-mode: forwards;
}
.swiper-slide-active .slider-2 .brackets{
  animation: fadeIn;
  animation-duration: 1.5s;
}
.swiper-slide-active .slider-2 .phone{
  animation: fadeInUp;
  animation-duration: 1.5s;
}


/* Slider 3 */
.slider-3{
  display: flex;
  flex-direction: column;
  background-color: var(--main-color);
  background-image: url('../images/trama-hero.png');
    background-position: top;
    background-size: cover;
}
.slider-3 .col-right{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px var(--px-mobile) 50px;
  gap: 1rem;
  order: 2;
}
.slider-3 .col-right{
  order: 1;
}
.slider-3 .col-right .slider-text{
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
}
.slider-3 .col-left{
  height: 50vh;
  display: flex;
  justify-content: center;
  align-items: end;
}
.slider-3 .col-left .phones{
  width: 70%;
  max-height: 300px;
}
.swiper-slide-active .slider-3 .slider-text h2{
  animation: fadeInUp;
  animation-duration: 1.5s;
}
.slider-3 .slider-text h5{
  opacity: 0;
}
.swiper-slide-active .slider-3 .slider-text h5{
  animation: fadeInUp;
  animation-duration: 1s;
  animation-delay: .5s;
  animation-fill-mode: forwards;
}
.slider-3 .slider-text .btn{
  opacity: 0;
}
.swiper-slide-active .slider-3 .slider-text .btn{
  animation: fadeInUp;
  animation-duration: 1s;
  animation-delay: 1s;
  animation-fill-mode: forwards;
}
.swiper-slide-active .slider-3 .slider-img{
  animation: fadeInUp;
  animation-duration: 1.5s;
}

/* Slider 4 */
.slider-4{
  display: flex;
  flex-direction: column;
  background-image: url('../images/trama-hero.png');
  background-position: top;
  background-size: cover;
}
.slider-4 .col-right{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px var(--px-mobile) 50px;
  gap: 1rem;
}
.slider-4 .col-right .slider-text{
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
}
.slider-4 .col-left{
  height: 50vh;
}
.swiper-slide-active .slider-4 .slider-text{
  animation: fadeInRight;
  animation-duration: 1.5s;
}
.swiper-slide-active .slider-4 .slider-img{
  animation: fadeInLeft;
  animation-duration: 1.5s;
}



.section-funcionalidades{
  padding: 60px var(--px-mobile);
  text-align: center;
}
.section-faqs{
  padding: 100px var(--px-mobile);
  text-align: center;
}
.section-funcionalidades .title-bracket,
.section-faqs .title-bracket{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  margin-bottom: 90px;
}
.section-faqs .title-bracket{
  margin-bottom: 0px;
}
.section-funcionalidades .title-bracket img,
.section-faqs .title-bracket img{
  height: 54px;
}
.section-funcionalidades .title,
.section-faqs .title{
  text-transform: uppercase;
}
.grid-cols-4{
  gap: 2rem;
  display: flex;
  flex-direction: column;
}

.function{
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}
.function img{
  width: 80px;
}
.function p{
  font-size: 14px;
}


.section-instrucciones{
  background-color: var(--main-bg-color);
  overflow: hidden;
}
.section-instrucciones .col-left{
  background-color: #DCDCDC;
  padding: 60px var(--px-mobile);
}
.section-instrucciones .col-right{
  grid-column: 2 / -1;
  padding: 40px 30px;
  display: none;
}
.section-instrucciones .col-left .title{
  text-transform: uppercase;
  margin-bottom: 60px;
  text-align: center;
}
.i-list{
  list-style: none;
  margin: 0;
  padding: 0;
}
.i-item{
  display: flex;
  align-items: center;
  gap:1rem;
  padding-right: 30px;
  cursor: pointer;
  font-size: 14px;
}
.i-item svg{
  fill:none;
  stroke:black;
}

.i-item p b{
  font-weight: bold;
}
.contentainer.mobile{
  width: 90%;
  max-height: 80vh;
  position: fixed;
  top: 10%;
  left: 5%;
  z-index: 1001;
  background-color: white;
  overflow-y: auto;
  padding: 30px;
  border-radius: 10px;
}
.contentainer .description{
  padding-left: 0px;
  padding-top: 30px;
  max-width: 400px;
}
.contentainer .description .title{
  font-weight: bold;
  margin-bottom: 10px;
}
.contentainer .description p{
  margin: 0 0 10px;
  font-size: 14px;
}
.contentainer .description p b{
font-weight: bold;
}
.responsive-video video{
  max-height: 70vh;
  margin: 0 auto;
}

.overlay{
  position: fixed;
  background: rgba(0, 0, 0, 0.8);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  pointer-events: auto;
  display: none;
}
.close-btn{
  position: absolute;
  right: 20px;
  top: 20px;
  background-color: var(--main-color);
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.close-btn img{
  pointer-events: none;
}



.section-agencias{
  background-color: var(--main-color);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.section-agencias img{
  max-height: 490px;
}
.section-agencias .content{
  display: flex;
  flex-direction: column;
  gap:1rem;
  padding: 20px var(--px-mobile) 60px;
}
.section-agencias .content p{
  margin-top: 0;;
}

.faqs-container{
  text-align: left;
}
.faqs-container h2{
  font-size: 21px;
  font-weight: bold;
  margin-bottom: 1rem;
  position: sticky;
  top:3.5rem;
  padding:10px 0;
  background-color: #fff;
  margin-top:5rem;
  color: var(--secondary-color);
}
.faqs-container h3{
  
  font-size: 18px;
}

@media (min-width: 768px) {
  .faqs-container{
    max-width: 800px;
    margin:0 auto
  }
  .faqs-container h2{
    font-size: 28px;
    top:5rem;
  }
  .faqs-container h3{
    font-size: 21px;
  }
}


footer{
  background-color: var(--text-color);
  color: white;
  padding: 60px var(--px-mobile);
  background-image: url('../images/trama-footer.png');
  background-size: 100%;
  background-position: top;
  background-size: cover;
}

footer .grid-cols-3{
  display: flex;
  flex-direction: column;
  gap: 3rem;
  align-items: flex-start;
}
.download-buttons{
  display: flex;
  gap: 0.5rem;
}
.download-buttons img{
  height: 37px;
}
.download-button{
  cursor: pointer;
}
footer .col-right{
  display: flex;
  justify-content: flex-end;
  gap: 2rem;
  align-items: center;
}
footer .col-right .logo-cis{
  height: 40px;
}
footer .col-right .logo-wu{
  height: 24px;
}
footer .col-center .mx-auto{
  margin: 0 auto;
  max-width: 250px;
}
footer .col-center p{
  margin: 0 0 12px;
}
footer .main-logo{
  height: 36px;
}
.footer-links {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
  gap: 10px;
}

.footer-link {
  color: white;
  text-decoration: none;
  font-size: 14px;
  transition: color 0.3s ease;
}

.footer-link:hover {
  color: var(--main-color);
}
/* Lightbox */
.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  opacity: 0;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}
.lightbox.show {
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 1;
}
.lightbox-content {
  background-color: white;
  padding: 20px;
  border-radius: 5px;
  text-align: center;
  transform: translateY(20px);
  opacity: 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.lightbox-content h2{
  font-size: 24px;
}
.lightbox.show .lightbox-content {
  transform: translateY(0);
  opacity: 1;
}
.qr-codes {
  display: flex;
  justify-content: space-around;
  margin-top: 20px;
}
.qr-codes img {
  width: 150px;
  height: 150px;
}
.close-lightbox {
  margin-top: 20px;
  padding: 10px 20px;
  background-color: #ffe400;
  color: black;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  font-family: 'Uni Neue', sans-serif;
}
/* Estilos para el menú de FAQs */
.faq-menu-container {
  max-width: 800px;
  margin: 30px auto;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.faq-menu-toggle {
  background-color: var(--secondary-color);
  color: white;
  padding: 15px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-weight: bold;
}

.faq-menu-toggle .faq-arrow {
  height: 15px;
  transition: transform 0.3s ease;
}

.faq-menu-toggle.active .faq-arrow {
  transform: rotate(180deg);
}

.faq-menu-list {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: white;
}

.faq-menu-list.active {
  max-height: 500px;
}

.faq-menu-list li {
  border-bottom: 1px solid #eaeaea;
}

.faq-menu-list li:last-child {
  border-bottom: none;
}

.faq-menu-list a {
  display: block;
  padding: 12px 20px;
  color: #333;
  text-decoration: none;
  transition: background-color 0.2s;
}

.faq-menu-list a:hover {
  background-color: #f5f5f5;
  color: var(--secondary-color);
}

/* Ajustar los encabezados para los enlaces de anclaje */
.faqs-container h2 {
  scroll-margin-top: 100px;
}
/* Para móvil */
@media (max-width: 767px) {
  /* Aumentar altura de los contenedores con videos */
  .slider-1 .col-right,
  .slider-4 .col-left {
    height: 70vh; /* Aumentado a 70vh para más espacio */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
}

@media (min-width: 768px) {
  .grid-cols-2{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: 100%;
  }
  .grid-cols-4{
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* Cambiado de 4 a 5 columnas */
    gap: 3rem;
  }
  .grid-cols-3{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .m-hidden{
    display: block;
  }
  .header{
    padding: 15px 10%;
  }
  .header .main-logo{
    height: 42px;
  }
  .section-hero{
    height: 100svh;
    min-height: auto;
  }
  /* slider 1 */
  .slider-1{
    display: grid;
  }
  .slider-1 .col-left{
    order: 1;
    padding: 10% 20%;
  }
  .slider-1 .col-right{
    order: 2;
    height: auto;
  }
  /* slider 2 */
  .slider-2{
    display: grid;
  }
  .slider-2 .col-left{
    order: 1;
    padding: 10% 20%;
  }
  .slider-2 .col-right{
    order: 2;
  }
  .slider-2 .col-right .brackets{
    top: auto;
    max-width: 520px;
  }
  .slider-2 .col-right{
    order: 2;
    height: auto;
  }
  .slider-2 .col-right .phone img{
    width: 56%;
    max-width: 500px;
    top: 10%;
  }
  /* slider 3 */
  .slider-3{
    display: grid;
  }
  .slider-3 .col-right{
    order: 2;
    padding: 10% 20%;
  }
  .slider-3 .col-left{
    order: 1;
    height: auto;
  }
  .slider-3 .col-left .phones{
    width: 80%;
    max-height: none;
  }
  /* slider 4 */
   .slider-4{
    display: grid;
  }
  .slider-4 .col-right{
    padding: 10% 20%;
  }
  .slider-4 .col-left{
    height: auto;
  }
  
  h2{
    font-size: 48px;
    line-height: 56px;
  }
  h3{
    font-size: 36px;
    font-weight: bold;
  }
  h5{
    font-size: 18px;
  }
  h6{
    font-size: 16px;
  }
  .swiper-button-next, 
  .swiper-button-prev{
    display: block;
  }
  .btn{
    padding: 1rem 2rem;
    font-size: 16px;
    border:none;
  }
  .section-funcionalidades,
  .section-faqs{
    padding: 150px 10%;
    text-align: center;
  }
  .section-funcionalidades .title-bracket,
  .section-faqs .title-bracket{
    gap: 40px;
    margin-bottom: 100px;
  }
  .section-funcionalidades .title-bracket img,
  .section-faqs .title-bracket img{
    height: 75px;
  }
  .function p{
    font-size: 16px;
  }
  .section-instrucciones .col-left{
    padding: 100px 0 100px 30%;
  }
  .section-instrucciones .col-left .title{
    text-align: left;
  }
  .section-instrucciones .col-right{
    padding: 100px 30px;
    display: block;
  }
  .i-item{
    font-size: 16px;
  }
  .i-item.active{
    background: linear-gradient(270deg, #CCCCCC 0%, rgba(204, 204, 204, 0) 100%);
  }
  .i-item.active svg,
  .i-item:hover svg{
    fill:var(--secondary-color);
    stroke:var(--secondary-color);
  }
  .contentainer .description{
    padding-left: 30px;
    padding-top: 0;
  }
  .responsive-video video{
    max-height: 80vh;
  }
  .instrucciones-content{
    display: flex;
  }
  .instrucciones-content .responsive-video{
    width: 40%;
  }
  .instrucciones-content .description{
    width: 60%;
  }
  .overlay{
    display: none!important
  }
  .contentainer{
    width: 100%;
    position: relative;
    z-index: 10;
    max-height: none;
    top: 0;
    left: 0;
    background-color: transparent;
    overflow: none;
  }
  .section-agencias{
    flex-direction: row;
    padding-right: 10%;
  }
  .section-agencias .content{
    padding: 0;
  }
  footer{
    padding: 90px 10%;
  }
  footer .main-logo{
    height: auto;
  }
  footer .grid-cols-3{
    display: grid;
    align-items: center;
  }
  footer .col-right .logo-cis{
    height: 70px;
  }
  footer .col-right .logo-wu{
    height: 40px;
  }
  .footer-links {
    margin-top: 15px;
  }
  
  .footer-link {
    font-size: 16px;
  }
}

/* Nuevas reglas CSS para arreglar los problemas específicos */

/* Corrección del cursor en los botones de navegación */
.swiper-button-next, 
.swiper-button-prev {
  cursor: pointer !important;
}

/* Ajuste para altura consistente en versión móvil */
@media (max-width: 767px) {
  /* Establecer la misma altura para TODOS los slides basado en los que tienen videos */
  .slider-1 .col-right,
  .slider-2 .col-right,
  .slider-3 .col-left,
  .slider-4 .col-left {
    height: 70vh !important; /* Usar la misma altura que tienen los videos (70vh) */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  
  /* Asegurar consistencia en objeto de medios */
  .slider-img img,
  .slider-img video,
  .slider-3 .col-left .phones {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  /* Mantener consistencia en la altura general de los slides */
  .slider-item {
    height: auto;
  }
}