.elementor-778 .elementor-element.elementor-element-bf79e57{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-778 .elementor-element.elementor-element-65c43c2{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:0px 50px;--row-gap:0px;--column-gap:50px;--grid-auto-flow:row;--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:80px;--padding-bottom:80px;--padding-left:120px;--padding-right:120px;}.elementor-778 .elementor-element.elementor-element-cf458f7{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:0px 50px;--row-gap:0px;--column-gap:50px;--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:80px;--padding-left:120px;--padding-right:120px;}@media(max-width:1024px){.elementor-778 .elementor-element.elementor-element-65c43c2{--grid-auto-flow:row;}.elementor-778 .elementor-element.elementor-element-cf458f7{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-778 .elementor-element.elementor-element-65c43c2{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-778 .elementor-element.elementor-element-cf458f7{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for container, class: .elementor-element-65c43c2 *//* Contenedor de columnas: espacio entre ellas */
.elementor-section .elementor-column {
  padding-left: 10px;
  padding-right: 10px;
}

/* Ajuste global de fila */
.elementor-row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}

/* Contenedor de cada imagen */
.img-swap {
  position: relative;
  width: 100%;
  padding-top: 120%; /* altura vertical más compacta */
  overflow: hidden;
  margin-bottom: 20px; /* espacio entre filas si hay varias */
}

/* Imágenes */
.img-swap img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .35s ease, transform .35s ease;
}

/* Imagen de atrás */
.img-swap img.back {
  opacity: 0;
  transform: scale(1.02);
}

/* Hover: swap */
.img-swap:hover img.front {
  opacity: 0;
  transform: scale(0.98);
}

.img-swap:hover img.back {
  opacity: 1;
  transform: scale(1);
}

/* Soporte responsive: evita problemas en móviles */
@media (hover: none) {
  .img-swap:hover img.front,
  .img-swap:hover img.back {
    opacity: 1;
    transform: none;
  }
}

/* Responsive: 2 columnas en tablet */
@media (max-width: 1024px) {
  .elementor-section .elementor-column {
    width: 50% !important;
  }
}

/* Responsive: 1 columna en móvil */
@media (max-width: 600px) {
  .elementor-section .elementor-column {
    width: 100% !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-53da243 *//* Contenedor de cada imagen */
.img-swap {
  position: relative;
  width: 100%;
  padding-top: 177.78%; /* 9:16 vertical */
  overflow: hidden;
}

/* Imágenes */
.img-swap img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .35s ease, transform .35s ease;
}

/* Imagen de atrás */
.img-swap img.back {
  opacity: 0;
  transform: scale(1.02);
}

/* Hover: swap */
.img-swap:hover img.front {
  opacity: 0;
  transform: scale(0.98);
}

.img-swap:hover img.back {
  opacity: 1;
  transform: scale(1);
}

/* Soporte responsive: evita problemas en móviles */
@media (hover: none) {
  .img-swap:hover img.front,
  .img-swap:hover img.back {
    opacity: 1;
    transform: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cf458f7 *//* Contenedor de columnas: espacio entre ellas */
.elementor-section .elementor-column {
  padding-left: 10px;
  padding-right: 10px;
}

/* Ajuste global de fila */
.elementor-row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}

/* Contenedor de cada imagen */
.img-swap {
  position: relative;
  width: 100%;
  padding-top: 120%; /* altura vertical más compacta */
  overflow: hidden;
  margin-bottom: 20px; /* espacio entre filas si hay varias */
}

/* Imágenes */
.img-swap img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .35s ease, transform .35s ease;
}

/* Imagen de atrás */
.img-swap img.back {
  opacity: 0;
  transform: scale(1.02);
}

/* Hover: swap */
.img-swap:hover img.front {
  opacity: 0;
  transform: scale(0.98);
}

.img-swap:hover img.back {
  opacity: 1;
  transform: scale(1);
}

/* Soporte responsive: evita problemas en móviles */
@media (hover: none) {
  .img-swap:hover img.front,
  .img-swap:hover img.back {
    opacity: 1;
    transform: none;
  }
}

/* Responsive: 2 columnas en tablet */
@media (max-width: 1024px) {
  .elementor-section .elementor-column {
    width: 50% !important;
  }
}

/* Responsive: 1 columna en móvil */
@media (max-width: 600px) {
  .elementor-section .elementor-column {
    width: 100% !important;
  }
}/* End custom CSS */