body {
  scroll-behavior: smooth;
  /* Scroll suave */
}



/* Estado inicial */
.from-left,
.from-right {
  opacity: 0;
  transition: all 0.8s ease-in-out;
}

.from-left {
  transform: translateX(0px);
}

.from-right {
  transform: translateX(0px);
}

/* Animación al bajar */
.from-left.show-down {
  opacity: 1;
  transform: translateX(0);
}

.from-right.show-down {
  opacity: 1;
  transform: translateX(0);
}

/* Animación al subir (inversa) */
.from-left.show-up {
  opacity: 0.5;
  transform: translateX(100px);
  /* inverso */
}

.from-right.show-up {
  opacity: 0.5;
  transform: translateX(-100px);
  /* inverso */
}




.conteinerGral {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: auto;
  justify-content: space-around;
  align-items: flex-start;
}

.contInforme {
  background: #e8e8e8;
  background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(237, 237, 237, 1) 34%, rgba(232, 232, 232, 0.98) 60%, rgba(255, 255, 255, 1) 100%);
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  min-height: 750px;
  margin-bottom: 10vh;
}

.data {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 50%;
  height: 100%;
  overflow: hidden;
  /* evita que el overlay se salga */
  clip-path: polygon(0 0,
      /* esquina sup. izq */
      70% 0,
      /* sube recto casi hasta la derecha */
      100% 80px,
      /* corte irregular hacia abajo */
      100% 100%,
      /* derecha abajo */
      0 100%
      /* izquierda abajo */
    );
}

.visually-hidden {
  display: none;
}

.data::before {
  content: "";
  position: absolute;
  margin-left: auto;
  inset: 0;
  background: url(/img/portada1.webp) center/cover no-repeat;
  width: 100%;
  height: auto;
  opacity: 0.3;
  /* ajusta la transparencia */
  z-index: 0;
}

.data>* {
  position: relative;
  z-index: 1;
  /* el contenido queda encima */
}


.data .card {
  display: flex;
  margin-right: auto;
}

.dataContacto {
  width: 40%;
  height: 100%;
}

.containerEjemplos{
  width: 100%;
   min-height: 100vh;
  height: auto;
}

.containerMuestra {
display: flex;
justify-content:space-evenly;
align-items: center;
  margin-bottom: 60px;
}

.containerInvites {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: auto;
}

.containerInvites h2 {
  font-size: 30px;
}

.vistaP {
  display: flex;
  width: auto;
  height: auto;
  justify-content: center;
  margin-bottom: 50px;
}

.card {
  width: auto;
  height: auto;
  padding-left: 10px;
  padding-right: 10px;
  padding-bottom: 5px;
  padding-top: 5px;
  position: relative;
  color: #212121;
  font-family: sans-serif;
}

.card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 60%;
  height: 60%;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
}

/* Bordes inferiores (izquierda y abajo) */
.card::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60%;
  height: 60%;
  border-bottom: 2px solid #000;
  border-left: 2px solid #000;
}

/*btn inicio*/

.btn {
  --color: #de5c9d;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all .5s;
  border: none;
  background-color: transparent;
  margin-bottom: 12px;
}

.btn div {
  letter-spacing: 2px;
  font-weight: bold;
  background: var(--color);
  border-radius: 2rem;
  color: white;
  padding: 1rem;
}

.btn::before {
  content: '';
  z-index: -1;
  background-color: var(--color);
  border: 2px solid white;
  border-radius: 2rem;
  width: 110%;
  height: 100%;
  position: absolute;
  transform: rotate(10deg);
  transition: .5s;
  opacity: 0.2;
}

.btn:hover {
  cursor: pointer;
  filter: brightness(1.2);
  transform: scale(1.1);
}

.btn:hover::before {
  transform: rotate(0deg);
  opacity: 1;
}

.btn svg {
  transform: translateX(-200%);
  transition: .5s;
  width: 0;
  opacity: 0;
}

.btn:hover svg {
  width: 25px;
  transform: translateX(0%);
  opacity: 1;
}

.btn:active {
  filter: brightness(1.4);
}

/*fin btn inicio*/

.data h3 {
  color: #de5c9d;
  font-size: 24px;
  margin-left: 12vw;
  margin-top: 10vh;
  font-weight: bold;
  /* negrita */

}

.data h2 {
  font-size: 35px;
  margin-left: 12vw;
  font-weight: bold;
  /* negrita */
}


.data p {
  font-size: 15px;
  margin-left: 12vw;
}


.data button {
  margin-left: 12vw;
  margin-top: 5vh;
}

/*tarjet*/

.carData {
  display: flex;
  width: 100%;
  height: 100%;
  background: #e0e0e0;
  box-shadow: 20px 20px 60px #bebebe,
    -20px -20px 60px #ffffff;

  clip-path: polygon(0 80px,
      /* baja creando el corte irregular en la izq */
      85.6% 80px,
      /* sube recto hasta un poco a la derecha */
      78% 81px,
      /* esquina sup. der */
      100% 100%,
      /* esquina inf. der */
      0 100%
      /* esquina inf. izq */
    );
  align-items: center;

}

/*tarjet info*/

.cardInfo {
  padding-top: 20px;
  border-radius: 50px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 80%;
  height: 77%;
  background: rgb(228, 228, 228);
  border-radius: 1rem;
  box-shadow: 20px 20px 60px #bebebe,
    -20px -20px 60px #ffffff;
  transition: all ease-in-out 0.3s;
}

.cardInfo:hover {
  background-color: #fdfdfd;
  box-shadow: rgba(0, 0, 0, 0.09) 0px 2px 1px, rgba(0, 0, 0, 0.09) 0px 4px 2px,
    rgba(0, 0, 0, 0.09) 0px 8px 4px, rgba(0, 0, 0, 0.09) 0px 16px 8px,
    rgba(0, 0, 0, 0.09) 0px 32px 16px;
}


.contaIconos {
  display: flex;
  width: 100%;
  height: auto;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
}

.iconInicio {
  display: flex;
  width: 120px;
  height: 250px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.iconInicio p {
  text-align: center;

}


.iconInicio img {
  width: 100px;
  height: 100px;
}

.cardInfo H3 {
  font-weight: bold;
  /* negrita */

}

.whatsAPP {
  background-color: #de5c9d;
  width: 100%;
  height: 20%;
  margin-top: auto;
  border-radius: 0 0 20px 20px;
  /* solo las esquinas inferiores tendrán radio */
  border: none;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 30px;
  cursor: pointer;
}

.whatsAPP img {
  width: 50px;
  height: 50px;
}

.whatsAPP h1 {
  font-weight: bold;
  /* negrita */
  color: white;
}

.contactanos {
  width: auto;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.contactanos a {
  color: #de5c9d;
}


.contactanos img {
  width: 25px;
  /* ajusta tamaño a tu gusto */
  height: 25px;
  animation: latido 1s infinite;
  /* nombre, duración y repetición */
  transform-origin: center;
  /* centro para que escale desde el medio */
}

@keyframes latido {

  0%,
  100% {
    transform: scale(1);
    /* tamaño normal */
  }

  25% {
    transform: scale(1.2);
    /* se agranda */
  }

  50% {
    transform: scale(1);
    /* vuelve al tamaño normal */
  }

  75% {
    transform: scale(1.2);
    /* vuelve a agrandarse */
  }
}

.convence1 {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.imagenCelular {
  width: 50%;
  height: auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}





.conveceText {
  display: flex;
  flex-direction: column;
  width: 40%;
  height: 100%;
  justify-content: center;
  margin-left: 3vw;

}

.conveceText h3 {
  color: #de5c9d;
  font-size: 24px;
}

.conveceText h2 {
  font-size: 48px;
  font-weight: bold;
  /* negrita */
}


.conveceText h4 {
  font-size: 24px;
}

.convence2 {
  display: flex;
  width: 100%;
  height: 100%;
  margin-top: 3vw;
  margin-bottom: 3rem;
  justify-content: center;
  align-items: center;
}

.conveceText2 {
  display: flex;
  flex-direction: column;
  width: 40%;
  height: 100%;
  justify-content: center;
  align-items: center;
  margin-left: 10vw;
}

.conveceText2 h3 {
  text-align: right;
  color: #de5c9d;
  font-size: 24px;
}

.conveceText2 h1 {

  font-size: 48px;
  font-weight: bold;
  /* negrita */
  text-align: right;
}

.conveceText2 h4 {
  font-size: 24px;
  text-align: right;
}

.imagenCelular2 {
  width: 60%;
  height: auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin-left: 3vw;
}



.imgFoto {
  display: flex;
  width: 50%;
  height: auto;
  margin-right: 5vw;
  justify-content: flex-end;
  align-items: center;
}

.imgFoto img {
  width: 75%;
  height: auto;
}

.videoCoraza {
  width: 50%;
  height: auto;
  margin-left: 5vw;
}

.videoCoraza video {

  margin-left: 5vw;
}

.reCoraza {
  width: 48%;
  height: auto;
}

.dataCosto {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  margin-top: 3vh;
}

.fondoStatic {
  position: absolute;
  width: 100%;
  height: 75%;
  background: url(/img/portada2.webp) center 25% / cover no-repeat;
  background-attachment: fixed;
}


.paqueteData {
  background-color: #f9f8f6;
  margin-top: 50vh;
  width: 50%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  padding: 5vw;
  z-index: 10;
}

.paqueTitulo {
  width: 100%;
  height: auto;
  background-color: #de5c9d;
  display: flex;
  justify-content: center;
  align-items: center;
}

.paqueTitulo h2 {
  color: white;
  font-weight: bold;
  text-align: center;
  /* negrita */
}

.dataInfo {
  margin-left: 3vw;
  margin-bottom: 3vh;
}

.dataInfo p {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 1vw;
}

.containerWhats {
  margin-top: 5vh;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}



.pie_pag {
  width: auto;
  height: auto;
  display: flex;
  flex-direction: row;
  gap: 20px;
  justify-content: center;
  align-items: center;
}

.pie_pag p {
  position: absolute;
  left: 0;
  margin-left: 50px;
}



.contacoWhats {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 1vw;
}

.contacoWhats img {
  width: 30px;
  height: 30px;
}

@media (max-width: 1282px) {

  .data h3 {
    margin-top: 0vh;
  }

  .data button {
    margin-top: 0vh;
  }
}


@media (max-width: 1240px) {
  .cardInfo {
    width: 100%;
  }

  .carData {
    clip-path: polygon(0 0px,
        /* baja creando el corte irregular en la izq */
        100% 0px,
        /* sube recto hasta un poco a la derecha */
        100% 0px,
        /* esquina sup. der */
        100% 100%,
        /* esquina inf. der */
        0 100%
        /* esquina inf. izq */
      );
  }

  .data h2 {
    font-size: 30px;
  }
}


@media (max-width: 1200px) {
  .from-left.show-up {
    opacity: 0.5;
    transform: translateX(50px);
    /* inverso */
  }

  .from-right.show-up {
    opacity: 0.5;
    transform: translateX(-50px);
    /* inverso */
  }


}

@media (max-width: 1030px) {
  .iconInicio p {
    font-size: 12px;
  }

  .iconInicio img {
    width: 70px;
    height: 70px;
  }

  .imgFoto {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    margin-right: 0vw;
  }

  .imgFoto img {
    width: 90%;
  }

  .videoCoraza video {
    width: 70%;
  }

  .from-left.show-up {
    transform: translateX(10px);
    /* inverso */
  }

  .from-right.show-up {
    transform: translateX(-10px);
    /* inverso */
  }
}


@media (max-width: 850px) {

  .from-left.show-up {
    transform: translateX(0);
    /* inverso */
  }

  .from-right.show-up {
    transform: translateX(0);
    /* inverso */
  }

  .conteinerGral {
    width: 100%;
    align-items: stretch;
  }

  .contInforme {
    flex-direction: column;
    min-height: auto;
  }

  .dataContacto {
    width: 100%;
    height: 100%;
  }

  .data {
    width: 100%;
    height: 100%;
  }


  .data::before {
    background: url(/img/portada1.webp) center 40%/cover no-repeat;
  }

  .data button {
    margin-bottom: 5vh;
  }

  .carData {
    height: auto;
  }

  .paqueTitulo h2 {
    font-size: 24px;
  }

  .whatsAPP {
    margin-top: 2vh;
  }

  .conveceText h3 {
    font-size: 24px;
  }

  .conveceText h2 {
    font-size: 28px;
    text-align: center;

  }

  .conveceText h4 {
    font-size: 18px;
    text-align: center;
  }

  .conveceText2 h3 {
    font-size: 24px;
    text-align: center;
  }

  .conveceText2 h1 {
    font-size: 28px;
    text-align: center;

  }


  .conveceText2 {
    width: 100%;
    margin-left: 0vw;

  }


  .conveceText2 h4 {
    font-size: 18px;
    text-align: center;

  }

  .convence1 {
    flex-direction: column;
  }

  .convence2 {
    flex-direction: column-reverse;
  }

  .imagenCelular {
    width: 100%;
  }

  .imagenCelular2 {
    width: 100%;

  }

  .conveceText {
    width: 100%;
    justify-content: center;
    align-items: center;
    margin-left: 0vw;
  }

  .imagenCelular2 {
    width: 100%;
    margin-left: 0vw;
  }

  .paqueteData {

    width: 80%;

  }

  .imagenCelular img {
    width: 100%;
    height: auto;
  }

  .imagenCelular2 img {
    width: 100%;
    height: auto;
  }

  .videoCoraza {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 0vw;
  }



  .videoCoraza video {
    width: 60%;
    margin-left: 0vw;
  }



}

@media (max-width: 510px) {
  .data h1 {
    font-size: 20px;
  }

  .data h3 {
    font-size: 20px;
  }

  .data h2 {
    font-size: 20px;
  }




}

/* Fondo oscuro translúcido */
.modalAudio {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  /* negro con transparencia */
  display: flex;
  justify-content: center;
  /* centra horizontal */
  align-items: center;
  /* arriba */
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}



/* Estado activo */
.modalAudio.active {
  opacity: 1;
  visibility: visible;
}

/* Bloquear scroll */
body.modal-open {
  overflow: hidden;
}



.cardPromo {
  overflow: hidden;
  position: relative;
  text-align: left;
  border-radius: 1.5rem;
  max-width: 550px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  background-color: #fff;
  margin: 5vw;
}

.cardPromo--precios {
  max-width: 1000px;
  width: 95vw;
  padding-bottom: 1.5rem;
}

.modal-precios-wrap {
  padding: 0 2.5rem;
  box-sizing: border-box;
}

.modal-precios-wrap .containerInvites {
  height: auto;
}

/* Precio card (compartido con paquetes) */
.precio-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  gap: 8px;
  padding: 1.5rem 1rem;
  border-radius: 12px;
  border: 1px solid #eee;
}

.precio-antes {
  font-size: 20px;
  color: #bbb;
  text-decoration: line-through;
  font-family: "Spinnaker", serif;
}

.precio-actual {
  font-size: 52px;
  font-weight: 700;
  color: #1a1a1a;
  font-family: "Spinnaker", serif;
  line-height: 1;
}

.precio-descuento {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  background: #de5c9d;
  color: #fff;
  border-radius: 20px;
  padding: 3px 10px;
}

.precio-sin-dto {
  font-size: 13px;
  color: #999;
  font-family: "Spinnaker", serif;
}

.btnElegicen {
  text-align: center;
  vertical-align: middle;
}

.btnElegicen .btn {
  display: inline-flex;
}

.contaProimg {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.contaProimg img {
  width: 100%;
  height: 100%;
}


.containerCerrar {
  width: 100%;
  height: auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.containerCerrar img {
  width: 30px;
  height: 30px;
  margin-right: 10px;
  cursor: pointer;
}

@media (max-width: 900px) {
  .vistaP img {
    width: 300px;
    height: auto;
  }

}


@media (max-width: 850px) {
  .cardPromo {
    width: 350px;
    height: auto;
  }

  .cardPromo--precios {
    width: 95vw;
  }

.modalAudio {
    width: 100%;
    height: 100%;
  }
}

.contactotitu {
  color: white;
  font-size: 24px;
  font-weight: bold;
}



.benInvita {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.benInvita h2 {
  color: #f62a6e;
  font-family: "Open Sans";
  font-size: 46px;
  font-weight: 800;
  line-height: 56px;
  text-align: center;
  text-transform: capitalize;
}

.benInvita .intro-paquete {
  color: #4a4a4a;
  font-family: "Rubik";
  font-size: 26px;
  margin: 0px 0px 20px;
  text-align: justify;
  width: auto;
  height: auto;
  padding-left: 150px;
  padding-right: 150px;
}

.benInvita h3 {
  color: #de5c9d;
  display: inline;
  font-weight: 600;
  line-height: 28px;
  text-align: justify;
}

.infGralelec {
  display: flex;
  flex-direction: row;
  width: 70%;
  height: auto;
  margin: 50px;
}

.infEleccion {
  display: flex;
  height: auto;
  width: 50%;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  padding-left: 50px;
}

.infEleccion2 {
  display: flex;
  height: auto;
  width: 50%;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  padding-left: 50px;

}


.infEleccion p {
  color: #4a4a4a;
  font-family: "rubik";
  line-height: 28px;
  text-align: justify;
  margin: 0px 0px 0px;
  padding-left: 50px;
  min-height: 160px;
  height: auto;
  font-size: 18px;
}

.infEleccion2 p {
  color: #4a4a4a;
  font-family: "rubik";
  line-height: 28px;
  text-align: justify;
  margin: 0px 0px 0px;
  padding-left: 50px;
  min-height: 160px;
  height: auto;
  font-size: 18px;
}

@media (max-width: 850px) {
  .infGralelec {
    flex-direction: column;
  }

  .infEleccion {
    width: 100%;
    padding-left: 0px;
  }

  .infEleccion2 {
    width: 100%;
    padding-left: 0px;
  }

  .benInvita .intro-paquete {
    padding-left: 50px;
    padding-right: 50px;
    font-size: 20px;
  }

  .infEleccion p {
    padding-left: 20px;
  }

  .infEleccion2 p {
    padding-left: 20px;
  }

  .pie_pag p {
    display: none;
  }


}

@media (max-width: 500px) {
  .benInvita h2 {
    font-size: 30px;
  }

  .benInvita .intro-paquete {

    font-size: 20px;
  }

  .infEleccion p {
    font-size: 18px;
  }

  .infEleccion2 p {
    padding-left: 18px;
  }
}

/*menu*/
.container-menu {
    position: sticky;
    top: 0;
    /* Se queda fijo en la parte superior cuando se hace scroll */
    z-index: 1000;
    /* Asegura que esté por encima del resto del contenido */
    width: 100%;
    height: 90px;
    background-color: transparent;
}

.div-logo {
    display: flex;
    width: auto;
    height: 100%;
    left: 20px;
    /* Añade un margen desde la izquierda */
    top: 50%;
    margin-left: 20px;
}

.containerInicio {
    margin-right: auto;
}

.logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    /* Asegura que la imagen se ajuste correctamente */
}


.menu {
    height: 100%;
    list-style-type: none;
    /* Elimina los puntos de la lista */
    justify-content: flex-end;
    /* Esto alineará los elementos del menú a la derecha */
    padding: 0;
    /* Elimina el relleno por defecto */
    display: flex;
    /* Utiliza flexbox para alinear los elementos horizontalmente */
    margin-left: auto;
    align-items: center;
    /* Centra verticalmente los elementos del menú */
}

/*inicia boton menu*/
.cta {
    border: none;
    background: none;
    cursor: pointer;
    margin-left: 0;
}

.cta span {
    padding-bottom: 7px;
    letter-spacing: 4px;
    font-size: 14px;
    padding-right: 15px;
    text-transform: uppercase;

}

.cta svg {
    transform: translateX(-8px);
    transition: all 0.3s ease;
}

.cta:hover svg {
    transform: translateX(0);
}

.cta:active svg {
    transform: scale(0.9);
}

.hover-underline-animation {
    position: relative;
    color: black;
    padding-bottom: 20px;
}

.hover-underline-animation:after {
    content: "";
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: #000000;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
}

.cta:hover .hover-underline-animation:after {
    transform: scaleX(1);
    transform-origin: bottom left;
}

/* Dropdown Invitaciones */
.nav-dropdown {
    position: relative;
    list-style: none;
}

.nav-submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #f9f8f6;
    list-style: none;
    padding: 8px 0;
    min-width: 190px;
    z-index: 1001;
    box-shadow: 0 4px 14px rgba(0,0,0,0.10);
}

.nav-dropdown:hover .nav-submenu {
    display: block;
}

.nav-submenu li a {
    display: block;
    padding: 9px 22px;
    color: #000;
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
    transition: background 0.2s;
}

.nav-submenu li a:hover {
    background-color: #efefed;
}

@media (max-width: 900px) {

    .div-logo {
        width: 70px;
        height: auto;
        margin-right: auto;
    }

    .containerInicio {
        display: none;
    }

    .cta span {
        padding-bottom: 1px;
        letter-spacing: 1px;
        font-size: 12px;
    }

    .titulo {
        font-size: 24px;
    }

    .content .name {
        font-size: 24px;
        margin-top: 50px;
    }

    .dots {
        margin-top: -70px;
    }

    .slider {
        margin-top: -100px;
    }



}


@media (max-width: 600px) {

    .div-logo {
        width: 15%;
    }


    .cta span {
        padding-bottom: 0px;
        letter-spacing: 0px;
        margin-left: auto;
        padding-right: 0px;

    }

    .container-menu {
        height: auto;
    }


}


@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: landscape) {
    
    .menu {
        justify-content: space-between; /* más equilibrado que flex-end */
        flex-wrap: wrap; /* por si se enciman */
    }

    .div-logo {
        margin-left: 10px;
        width: 80px;
        height: auto;
    }

    .cta span {
        font-size: 12px;
        padding-right: 5px;
    }

    .containerInicio {
        margin-left: 20px;
    }

    nav ul {
        padding-left: 10px;
        padding-right: 10px;
    }

    .menu ul {
        margin: 0;
    }
}

@media (max-width: 403px) {

    .cta span {
        font-size: 9px;
    }

}

.mockup-center {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 40px;
    padding: 40px 0;
}

/* ===== PHONE MOCKUP CON IFRAME ===== */
.phone-mockup {
    position: relative;
    width: 370px;
    height: 640px;
    background: #1c1c1e;
    border-radius: 50px;
    padding: 14px;
    box-shadow:
        0 0 0 2px #3a3a3c,
        0 0 0 6px #1c1c1e,
        0 0 0 8px #3a3a3c,
        0 30px 60px rgba(0, 0, 0, 0.45);
    flex-shrink: 0;
}

/* notch superior */
.phone-mockup::before {
    content: '';
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 26px;
    background: #1c1c1e;
    border-radius: 0 0 18px 18px;
    z-index: 3;
}

/* botón lateral */
.phone-mockup::after {
    content: '';
    position: absolute;
    right: -10px;
    top: 110px;
    width: 4px;
    height: 60px;
    background: #3a3a3c;
    border-radius: 2px;
}

.phone-screen {
    width: 100%;
    height: 100%;
    border-radius: 38px;
    overflow: hidden;
    background: #000;
}

.phone-iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* ===== HAMBURGER BUTTON ===== */
.nav-hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 28px;
    height: 20px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin-left: auto;
    margin-right: 20px;
    flex-shrink: 0;
    z-index: 1002;
}

.nav-hamburger span {
    display: block;
    width: 100%;
    height: 2px;
    background: #212121;
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.nav-hamburger.active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

.nav-hamburger.active span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.nav-hamburger.active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

/* ===== MOBILE NAV PANEL ===== */
.nav-mobile {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    width: 300px;
    background: #f9f8f6;
    z-index: 1000;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.35s ease;
}

.nav-mobile.active {
    max-height: 520px;
}

.nav-mobile-list {
    list-style: none;
    padding: 10px 0 18px;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.nav-mobile-list > li {
    width: 100%;
}

.nav-mobile-list > li > a,
.nav-mobile-accordion-btn {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 13px 24px;
    font-size: 13px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #212121;
    text-decoration: none;
    background: none;
    border: none;
    text-align: right;
    cursor: pointer;
    transition: background 0.2s;
    box-sizing: border-box;
    font-family: inherit;
}

.nav-mobile-list > li > a:hover,
.nav-mobile-accordion-btn:hover {
    background: #efefed;
}

.nav-chevron {
    display: inline-block;
    font-size: 10px;
    transition: transform 0.25s ease;
    margin-left: 6px;
}

.nav-mobile-accordion.open .nav-chevron {
    transform: rotate(180deg);
}

.nav-mobile-sub {
    list-style: disc;
    padding: 6px 24px 6px 0;
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    display: flex;
    flex-direction: column;
}

.nav-mobile-accordion.open .nav-mobile-sub {
    max-height: 300px;
}

.nav-mobile-sub li {
    text-align: right;
    padding-right: 8px;
}

.nav-mobile-sub li::marker {
    color: #de5c9d;
}

.nav-mobile-sub li a {
    display: inline-block;
    padding: 8px 4px;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #555;
    text-decoration: none;
    transition: color 0.2s;
}

.nav-mobile-sub li a:hover {
    color: #212121;
}

/* ===== RESPONSIVE NAV BREAKPOINT ===== */
@media (max-width: 1300px) {
    .nav-hamburger {
        display: flex;
    }

    .nav-mobile {
        display: block;
    }

    .menu > .containerInicio,
    .menu > ul {
        display: none !important;
    }

    .container-menu {
        position: sticky;
        height: 70px;
    }

    .div-logo {
        width: 60px;
        height: auto;
        margin-right: 0;
    }
}


/* ===== SECCIÓN RESEÑAS ===== */
.resenas {
    padding: 4rem 2rem;
    background: #fff;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.resenas-header {
    margin-bottom: 2.5rem;
}

.resenas-header h2 {
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: #212121;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.resenas-rating-global {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.resenas-estrellas-global {
    color: #f4b400;
    font-size: 1.3rem;
    letter-spacing: 2px;
}

.resenas-score {
    color: #666;
    font-size: 0.95rem;
}

.resenas-swiper {
    width: 100%;
    max-width: 1200px;
    padding-bottom: 2.5rem !important;
    margin-bottom: 1.5rem;
}

.resenas-swiper .swiper-slide {
    height: auto;
}

.resenas-swiper .resena-card {
    height: 100%;
    box-sizing: border-box;
}

.resenas-pagination .swiper-pagination-bullet-active {
    background: #de5c9d;
}

.resena-card {
    background: #fafafa;
    border: 1px solid #efefef;
    border-radius: 14px;
    padding: 1.4rem;
    text-align: left;
    transition: box-shadow 0.2s;
}

.resena-card:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.resena-top {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 0.9rem;
}

.resena-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #de5c9d;
    color: #fff;
    font-weight: 700;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.resena-nombre {
    font-weight: 600;
    font-size: 0.9rem;
    color: #212121;
}

.resena-estrellas {
    color: #f4b400;
    font-size: 0.85rem;
    letter-spacing: 1px;
}

.resena-texto {
    color: #555;
    font-size: 0.88rem;
    line-height: 1.6;
    margin: 0;
}

.resenas-ver-mas {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #444;
    font-size: 0.9rem;
    text-decoration: none;
    border: 1px solid #ddd;
    border-radius: 30px;
    padding: 0.6rem 1.4rem;
    transition: border-color 0.2s, color 0.2s;
}

.resenas-ver-mas:hover {
    border-color: #de5c9d;
    color: #de5c9d;
}

