.elementor-44930 .elementor-element.elementor-element-fba06c9{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-44930 .elementor-element.elementor-element-76f0c67{--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-44930 .elementor-element.elementor-element-8745a7b{margin:-25px 0px calc(var(--kit-widget-spacing, 0px) + 25px) 0px;text-align:center;font-family:"Roboto", Sans-serif;font-size:22px;font-weight:400;}.elementor-44930 .elementor-element.elementor-element-5f889bf{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 100px) 0px;text-align:center;font-family:"Roboto", Sans-serif;font-size:16px;font-weight:400;}.elementor-44930 .elementor-element.elementor-element-f73e306{margin:-60px 0px calc(var(--kit-widget-spacing, 0px) + 61px) 0px;padding:0px 0px 0px 0px;}.elementor-44930 .elementor-element.elementor-element-c11c3b8{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--align-content:flex-start;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-44930 .elementor-element.elementor-element-c11c3b8.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-44930 .elementor-element.elementor-element-fe40d94{--display:flex;--min-height:0px;--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;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-color:#54595F26;--border-color:#54595F26;--border-radius:45px 45px 45px 45px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-44930 .elementor-element.elementor-element-8d176e1{--display:flex;}.elementor-44930 .elementor-element.elementor-element-7d7bc0e .elementor-heading-title{font-size:20px;font-weight:600;}.elementor-44930 .elementor-element.elementor-element-15f7767{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-44930 .elementor-element.elementor-element-93bad8f{--display:flex;}.elementor-44930 .elementor-element.elementor-element-7e65fdf{--display:flex;}.elementor-44930 .elementor-element.elementor-element-0d67747{margin:-7px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-44930 .elementor-element.elementor-element-ee9106e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-44930 .elementor-element.elementor-element-3156a5b{--display:flex;}.elementor-44930 .elementor-element.elementor-element-ffd4fcc{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-44930 .elementor-element.elementor-element-0142f7b{--display:flex;}.elementor-44930 .elementor-element.elementor-element-d08c09d{--display:flex;}.elementor-44930 .elementor-element.elementor-element-6e30f35{margin:6px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-44930 .elementor-element.elementor-element-995d774{--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;--margin-top:0px;--margin-bottom:-9px;--margin-left:0px;--margin-right:0px;}.elementor-44930 .elementor-element.elementor-element-dd95c9b{--display:flex;--min-height:0px;--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;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-color:#54595F26;--border-color:#54595F26;--border-radius:45px 45px 45px 45px;--margin-top:-6px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-44930 .elementor-element.elementor-element-aec37c7{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-44930 .elementor-element.elementor-element-aec37c7 .elementor-heading-title{font-size:20px;font-weight:600;}.elementor-44930 .elementor-element.elementor-element-3799d32{--display:flex;--min-height:0px;--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;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-color:#54595F26;--border-color:#54595F26;--border-radius:45px 45px 45px 45px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-44930 .elementor-element.elementor-element-4c8238b{--display:flex;--border-radius:3px 3px 3px 3px;}.elementor-44930 .elementor-element.elementor-element-2347d6d .elementor-heading-title{font-size:20px;font-weight:600;}.elementor-44930 .elementor-element.elementor-element-80916e7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-44930 .elementor-element.elementor-element-66f183c{--display:flex;}.elementor-44930 .elementor-element.elementor-element-ddfcddc{--display:flex;}.elementor-44930 .elementor-element.elementor-element-9d409cc{--display:flex;}.elementor-44930 .elementor-element.elementor-element-ec4f153{--display:flex;--min-height:310px;--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;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-44930 .elementor-element.elementor-element-ec4f153:not(.elementor-motion-effects-element-type-background), .elementor-44930 .elementor-element.elementor-element-ec4f153 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://lasaforempren.com/wp-content/uploads/2025/09/79f735bdc978bb91c3459899cad1a99a.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-44930 .elementor-element.elementor-element-25e11d7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-44930 .elementor-element.elementor-element-25e11d7 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:47px;font-weight:600;line-height:1.2px;color:#000000;}.elementor-44930 .elementor-element.elementor-element-ec77405{width:initial;max-width:initial;}.elementor-44930 .elementor-element.elementor-element-ec77405 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:65px;font-weight:600;color:#FFFFFF;}.elementor-44930 .elementor-element.elementor-element-3902af8{color:#FFFFFF;}.elementor-44930 .elementor-element.elementor-element-0821a9a{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-44930 .elementor-element.elementor-element-0821a9a:not(.elementor-motion-effects-element-type-background), .elementor-44930 .elementor-element.elementor-element-0821a9a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F5EF;}.elementor-44930 .elementor-element.elementor-element-c033cfb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;text-align:center;}.elementor-44930 .elementor-element.elementor-element-c033cfb .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:28px;font-weight:700;color:#000000;}.elementor-44930 .elementor-element.elementor-element-fafd790{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;text-align:center;font-family:"Roboto", Sans-serif;font-size:18px;font-weight:400;color:#555555;}.elementor-44930 .elementor-element.elementor-element-a8231c4 .elementor-button{background-color:#2196F3;fill:#FFFFFF;color:#FFFFFF;border-radius:6px 6px 6px 6px;}.elementor-44930 .elementor-element.elementor-element-e6ab3ed{--display:flex;}@media(min-width:768px){.elementor-44930 .elementor-element.elementor-element-76f0c67{--content-width:800px;}.elementor-44930 .elementor-element.elementor-element-c11c3b8{--content-width:1100px;}.elementor-44930 .elementor-element.elementor-element-fe40d94{--width:50%;}.elementor-44930 .elementor-element.elementor-element-995d774{--width:50%;}.elementor-44930 .elementor-element.elementor-element-dd95c9b{--width:100%;}.elementor-44930 .elementor-element.elementor-element-3799d32{--width:100%;}.elementor-44930 .elementor-element.elementor-element-0821a9a{--content-width:1000px;}}/* Start custom CSS for image, class: .elementor-element-736d861 *//* Estado base: B/N, centrado y tamaño controlado */
.logo-partner img {
  max-width: 150px;            /* ajusta el tamaño a tu gusto */
  height: auto;
  display: block;
  margin: 0 auto;
  filter: grayscale(100%) contrast(1.05);
  opacity: 0.9;
  transform: translateZ(0);     /* suaviza animación en algunos navegadores */
  transition: filter .35s ease, opacity .35s ease, transform .35s ease, box-shadow .35s ease;
  will-change: transform, filter, opacity, box-shadow;
}

/* Hover bonito: vuelve a color + zoom sutil + ligera elevación + sombra */
@media (hover: hover) and (pointer: fine) {
  .logo-partner:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
}

/* Si el logo está dentro de un enlace, permite activar el hover desde el <a> */
@media (hover: hover) and (pointer: fine) {
  .logo-partner a:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
}

/* Efecto “latido” MUY sutil en hover (opcional) */
@media (hover: hover) and (pointer: fine) {
  .logo-partner:hover img,
  .logo-partner a:hover img {
    animation: logoFloat 1.4s ease-in-out both;
  }
}

@keyframes logoFloat {
  0%   { transform: translateY(-3px) scale(1.04); }
  50%  { transform: translateY(-5px) scale(1.05); }
  100% { transform: translateY(-3px) scale(1.04); }
}

/* Accesibilidad: reduce animaciones si el usuario lo prefiere */
@media (prefers-reduced-motion: reduce) {
  .logo-partner img {
    transition: none;
    animation: none;
  }
}

/* Responsive (opcional): logos un pelín más pequeños en móvil */
@media (max-width: 480px) {
  .logo-partner img {
    max-width: 130px;
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-0d67747 *//* Estado base: B/N, centrado y tamaño controlado */
.logo-partner img {
  max-width: 150px;            /* ajusta el tamaño a tu gusto */
  height: auto;
  display: block;
  margin: 0 auto;
  filter: grayscale(100%) contrast(1.05);
  opacity: 0.9;
  transform: translateZ(0);     /* suaviza animación en algunos navegadores */
  transition: filter .35s ease, opacity .35s ease, transform .35s ease, box-shadow .35s ease;
  will-change: transform, filter, opacity, box-shadow;
}

/* Hover bonito: vuelve a color + zoom sutil + ligera elevación + sombra */
@media (hover: hover) and (pointer: fine) {
  .logo-partner:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
}

/* Si el logo está dentro de un enlace, permite activar el hover desde el <a> */
@media (hover: hover) and (pointer: fine) {
  .logo-partner a:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
}

/* Efecto “latido” MUY sutil en hover (opcional) */
@media (hover: hover) and (pointer: fine) {
  .logo-partner:hover img,
  .logo-partner a:hover img {
    animation: logoFloat 1.4s ease-in-out both;
  }
}

@keyframes logoFloat {
  0%   { transform: translateY(-3px) scale(1.04); }
  50%  { transform: translateY(-5px) scale(1.05); }
  100% { transform: translateY(-3px) scale(1.04); }
}

/* Accesibilidad: reduce animaciones si el usuario lo prefiere */
@media (prefers-reduced-motion: reduce) {
  .logo-partner img {
    transition: none;
    animation: none;
  }
}

/* Responsive (opcional): logos un pelín más pequeños en móvil */
@media (max-width: 480px) {
  .logo-partner img {
    max-width: 130px;
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-ffd4fcc *//* Estado base: B/N, centrado y tamaño controlado */
.logo-partner img {
  max-width: 150px;            /* ajusta el tamaño a tu gusto */
  height: auto;
  display: block;
  margin: 0 auto;
  filter: grayscale(100%) contrast(1.05);
  opacity: 0.9;
  transform: translateZ(0);     /* suaviza animación en algunos navegadores */
  transition: filter .35s ease, opacity .35s ease, transform .35s ease, box-shadow .35s ease;
  will-change: transform, filter, opacity, box-shadow;
}

/* Hover bonito: vuelve a color + zoom sutil + ligera elevación + sombra */
@media (hover: hover) and (pointer: fine) {
  .logo-partner:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
}

/* Si el logo está dentro de un enlace, permite activar el hover desde el <a> */
@media (hover: hover) and (pointer: fine) {
  .logo-partner a:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
}

/* Efecto “latido” MUY sutil en hover (opcional) */
@media (hover: hover) and (pointer: fine) {
  .logo-partner:hover img,
  .logo-partner a:hover img {
    animation: logoFloat 1.4s ease-in-out both;
  }
}

@keyframes logoFloat {
  0%   { transform: translateY(-3px) scale(1.04); }
  50%  { transform: translateY(-5px) scale(1.05); }
  100% { transform: translateY(-3px) scale(1.04); }
}

/* Accesibilidad: reduce animaciones si el usuario lo prefiere */
@media (prefers-reduced-motion: reduce) {
  .logo-partner img {
    transition: none;
    animation: none;
  }
}

/* Responsive (opcional): logos un pelín más pequeños en móvil */
@media (max-width: 480px) {
  .logo-partner img {
    max-width: 130px;
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-58be23a *//* Estado base: B/N, centrado y tamaño controlado */
.logo-partner img {
  max-width: 150px;            /* ajusta el tamaño a tu gusto */
  height: auto;
  display: block;
  margin: 0 auto;
  filter: grayscale(100%) contrast(1.05);
  opacity: 0.9;
  transform: translateZ(0);     /* suaviza animación en algunos navegadores */
  transition: filter .35s ease, opacity .35s ease, transform .35s ease, box-shadow .35s ease;
  will-change: transform, filter, opacity, box-shadow;
}

/* Hover bonito: vuelve a color + zoom sutil + ligera elevación + sombra */
@media (hover: hover) and (pointer: fine) {
  .logo-partner:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
}

/* Si el logo está dentro de un enlace, permite activar el hover desde el <a> */
@media (hover: hover) and (pointer: fine) {
  .logo-partner a:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
}

/* Efecto “latido” MUY sutil en hover (opcional) */
@media (hover: hover) and (pointer: fine) {
  .logo-partner:hover img,
  .logo-partner a:hover img {
    animation: logoFloat 1.4s ease-in-out both;
  }
}

@keyframes logoFloat {
  0%   { transform: translateY(-3px) scale(1.04); }
  50%  { transform: translateY(-5px) scale(1.05); }
  100% { transform: translateY(-3px) scale(1.04); }
}

/* Accesibilidad: reduce animaciones si el usuario lo prefiere */
@media (prefers-reduced-motion: reduce) {
  .logo-partner img {
    transition: none;
    animation: none;
  }
}

/* Responsive (opcional): logos un pelín más pequeños en móvil */
@media (max-width: 480px) {
  .logo-partner img {
    max-width: 130px;
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-6e30f35 *//* Estado base: B/N, centrado y tamaño controlado */
.logo-partner img {
  max-width: 150px;            /* ajusta el tamaño a tu gusto */
  height: auto;
  display: block;
  margin: 0 auto;
  filter: grayscale(100%) contrast(1.05);
  opacity: 0.9;
  transform: translateZ(0);     /* suaviza animación en algunos navegadores */
  transition: filter .35s ease, opacity .35s ease, transform .35s ease, box-shadow .35s ease;
  will-change: transform, filter, opacity, box-shadow;
}

/* Hover bonito: vuelve a color + zoom sutil + ligera elevación + sombra */
@media (hover: hover) and (pointer: fine) {
  .logo-partner:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
}

/* Si el logo está dentro de un enlace, permite activar el hover desde el <a> */
@media (hover: hover) and (pointer: fine) {
  .logo-partner a:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
}

/* Efecto “latido” MUY sutil en hover (opcional) */
@media (hover: hover) and (pointer: fine) {
  .logo-partner:hover img,
  .logo-partner a:hover img {
    animation: logoFloat 1.4s ease-in-out both;
  }
}

@keyframes logoFloat {
  0%   { transform: translateY(-3px) scale(1.04); }
  50%  { transform: translateY(-5px) scale(1.05); }
  100% { transform: translateY(-3px) scale(1.04); }
}

/* Accesibilidad: reduce animaciones si el usuario lo prefiere */
@media (prefers-reduced-motion: reduce) {
  .logo-partner img {
    transition: none;
    animation: none;
  }
}

/* Responsive (opcional): logos un pelín más pequeños en móvil */
@media (max-width: 480px) {
  .logo-partner img {
    max-width: 130px;
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-21659a8 *//* Estado base: B/N, centrado y tamaño controlado */
.logo-partner img {
  max-width: 150px;            /* ajusta el tamaño a tu gusto */
  height: auto;
  display: block;
  margin: 0 auto;
  filter: grayscale(100%) contrast(1.05);
  opacity: 0.9;
  transform: translateZ(0);     /* suaviza animación en algunos navegadores */
  transition: filter .35s ease, opacity .35s ease, transform .35s ease, box-shadow .35s ease;
  will-change: transform, filter, opacity, box-shadow;
}

/* Hover bonito: vuelve a color + zoom sutil + ligera elevación + sombra */
@media (hover: hover) and (pointer: fine) {
  .logo-partner:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
}

/* Si el logo está dentro de un enlace, permite activar el hover desde el <a> */
@media (hover: hover) and (pointer: fine) {
  .logo-partner a:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
}

/* Efecto “latido” MUY sutil en hover (opcional) */
@media (hover: hover) and (pointer: fine) {
  .logo-partner:hover img,
  .logo-partner a:hover img {
    animation: logoFloat 1.4s ease-in-out both;
  }
}

@keyframes logoFloat {
  0%   { transform: translateY(-3px) scale(1.04); }
  50%  { transform: translateY(-5px) scale(1.05); }
  100% { transform: translateY(-3px) scale(1.04); }
}

/* Accesibilidad: reduce animaciones si el usuario lo prefiere */
@media (prefers-reduced-motion: reduce) {
  .logo-partner img {
    transition: none;
    animation: none;
  }
}

/* Responsive (opcional): logos un pelín más pequeños en móvil */
@media (max-width: 480px) {
  .logo-partner img {
    max-width: 130px;
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-cd9e348 *//* Estado base: B/N, centrado y tamaño controlado */
.logo-partner img {
  max-width: 150px;            /* ajusta el tamaño a tu gusto */
  height: auto;
  display: block;
  margin: 0 auto;
  filter: grayscale(100%) contrast(1.05);
  opacity: 0.9;
  transform: translateZ(0);     /* suaviza animación en algunos navegadores */
  transition: filter .35s ease, opacity .35s ease, transform .35s ease, box-shadow .35s ease;
  will-change: transform, filter, opacity, box-shadow;
}

/* Hover bonito: vuelve a color + zoom sutil + ligera elevación + sombra */
@media (hover: hover) and (pointer: fine) {
  .logo-partner:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
}

/* Si el logo está dentro de un enlace, permite activar el hover desde el <a> */
@media (hover: hover) and (pointer: fine) {
  .logo-partner a:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
}

/* Efecto “latido” MUY sutil en hover (opcional) */
@media (hover: hover) and (pointer: fine) {
  .logo-partner:hover img,
  .logo-partner a:hover img {
    animation: logoFloat 1.4s ease-in-out both;
  }
}

@keyframes logoFloat {
  0%   { transform: translateY(-3px) scale(1.04); }
  50%  { transform: translateY(-5px) scale(1.05); }
  100% { transform: translateY(-3px) scale(1.04); }
}

/* Accesibilidad: reduce animaciones si el usuario lo prefiere */
@media (prefers-reduced-motion: reduce) {
  .logo-partner img {
    transition: none;
    animation: none;
  }
}

/* Responsive (opcional): logos un pelín más pequeños en móvil */
@media (max-width: 480px) {
  .logo-partner img {
    max-width: 130px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c11c3b8 *//* === BLOQUE DE LOGOS (forzado por ID) === */
#bloque-logos {
  background: linear-gradient(180deg, #f9f9f9 0%, #ffffff 100%) !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;                /* para que se vean las esquinas redondeadas */
  margin: 16px auto !important;
  max-width: 900px !important;
  padding: 12px 10px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06) !important;
  gap: 6px !important;
  row-gap: 6px !important;
  column-gap: 6px !important;
}

/* Quita espacios internos heredados que “abren” el bloque */
#bloque-logos .elementor-container,
#bloque-logos .elementor-column,
#bloque-logos .e-con-inner,
#bloque-logos .e-con {
  padding: 0 !important;
  background: transparent !important;
}

/* Quita márgenes por defecto entre widgets */
#bloque-logos .elementor-widget {
  margin: 6px 0 !important;
}

/* Título elegante y compacto */
#bloque-logos .titulo-logos {
  font-size: 19px !important;
  font-weight: 600 !important;
  color: #111 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  position: relative !important;
  margin: 6px 0 10px !important;
  padding-bottom: 4px !important;
}
#bloque-logos .titulo-logos::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 36px !important;
  height: 2px !important;
  background: #ccc !important;
  border-radius: 2px !important;
}

/* Logos del bloque: tamaño uniforme */
#bloque-logos .logos-bloque img {
  max-width: 130px !important;   /* ajusta aquí el tamaño de cada logo */
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Hover individual (si usas la clase logo-hover en cada widget de imagen) */
#bloque-logos .logo-hover {
  filter: grayscale(100%) contrast(1.05);
  opacity: .95;
  transition: filter .25s ease, opacity .25s ease, transform .25s ease, box-shadow .25s ease;
}
#bloque-logos .logo-hover:hover {
  filter: none;
  opacity: 1;
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 6px 16px rgba(0,0,0,.10);
}

/* Responsive */
@media (max-width: 768px) {
  #bloque-logos {
    max-width: 100% !important;
    padding: 12px 12px !important;
    gap: 8px !important;
  }
  #bloque-logos .logos-bloque img {
    max-width: 48vw !important;
  }
}


.titulo-logos {
  position: relative;
  display: inline-block;   /* para que la línea no ocupe toda la fila */
  margin-bottom: 12px;
  padding-bottom: 6px;
}

.titulo-logos::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50px;             /* línea corta */
  height: 2px;             /* finita */
  background: #ccc;        /* gris suave */
  border-radius: 2px;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-ec77405 */.elementor-44930 .elementor-element.elementor-element-ec77405 .subtitulo{
  font-size:18px;
  font-weight:400;
  color:#555;           /* gris oscuro, así se diferencia un poco del título */
  margin-left:.5em;
  vertical-align:baseline;
  white-space:nowrap;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-a8231c4 *//* Botón Elementor con degradado animado + fondo difuminado */
.elementor-44930 .elementor-element.elementor-element-a8231c4 .elementor-button{
  position: relative;
  overflow: hidden;
  border: 2px solid #2196f3 !important;
  background: transparent !important;
  color: #2196f3 !important;
  font-weight: 600;
  border-radius: 8px;
  padding: 12px 32px;
  transition: color .3s ease, border-color .3s ease, transform .3s ease, box-shadow .3s ease;
  z-index: 0;
  backdrop-filter: blur(4px);        /* 👈 difuminado discreto del fondo */
  -webkit-backdrop-filter: blur(4px);/* soporte Safari */
}

.elementor-44930 .elementor-element.elementor-element-a8231c4 .elementor-button .elementor-button-text{
  position: relative;
  z-index: 2;
  pointer-events: none;
}

/* capa animada */
.elementor-44930 .elementor-element.elementor-element-a8231c4 .elementor-button::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(270deg, #2196f3, #4caf50, #1976d2, #2196f3);
  background-size: 600% 600%;
  transform: translateY(102%);
  transition: transform .45s ease;
  z-index: 1;
  opacity: 0.9; /* 👈 hace que el difuminado de fondo se note un pelín */
}

/* hover */
.elementor-44930 .elementor-element.elementor-element-a8231c4 .elementor-button:hover::before{
  transform: translateY(0);
  animation: lseGradient 6s ease infinite;
}
.elementor-44930 .elementor-element.elementor-element-a8231c4 .elementor-button:hover{
  color:#fff !important;
  border-color: transparent !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,.15);
}

@keyframes lseGradient{
  0%   { background-position:   0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position:   0% 50%; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0821a9a *//* Sección a ancho completo con detalle institucional */
.elementor-44930 .elementor-element.elementor-element-0821a9a {
  width:100%;
  padding:80px 20px;
  background:#f9f9f9;              /* fondo gris claro */
  border-top:4px solid #2196f3;    /* línea azul arriba */
  border-bottom:4px solid #4caf50; /* línea verde abajo */
  text-align:center;
}

.elementor-44930 .elementor-element.elementor-element-0821a9a h2 {
  font-size:28px;
  font-weight:700;
  margin-bottom:16px;
  color:#111;
}

.elementor-44930 .elementor-element.elementor-element-0821a9a p {
  font-size:17px;
  line-height:1.6;
  color:#444;
  max-width:800px;
  margin:0 auto;
}/* End custom CSS */