.elementor-widget-section .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-section .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-section .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-column .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-column .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-column .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-image .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-image .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-image .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-button .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-button .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-button .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-heading .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-heading .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-heading .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1487 .elementor-element.elementor-element-146e198 .elementor-heading-title{color:#000000;}.elementor-widget-countdown .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-countdown .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-countdown .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-countdown .elementor-countdown-item{background-color:var( --e-global-color-primary );}.elementor-widget-countdown .elementor-countdown-digits{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-countdown .elementor-countdown-label{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-countdown .elementor-countdown-expire--message{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-wrapper{max-width:100%;}body:not(.rtl) .elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-item:not(:first-of-type){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-item:not(:last-of-type){margin-right:calc( 10px/2 );}body.rtl .elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-item:not(:first-of-type){margin-right:calc( 10px/2 );}body.rtl .elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-item:not(:last-of-type){margin-left:calc( 10px/2 );}.elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-digits{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-label{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-1487 .elementor-element.elementor-element-4ad8e24 .elementor-heading-title{color:#000000;}.elementor-widget-progress .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-progress .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-progress .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-progress .elementor-title{color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-progress .elementor-progress-wrapper .elementor-progress-bar{background-color:var( --e-global-color-primary );}.elementor-1487 .elementor-element.elementor-element-ea05f70 .elementor-heading-title{color:#000000;}.elementor-widget-image-carousel .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-image-carousel .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-image-carousel .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-image-carousel .pafe-navigation-arrows-icon-arrows{color:var( --e-global-color-primary );}.elementor-1487 .elementor-element.elementor-element-0ce0abf .elementor-heading-title{color:#000000;}.elementor-widget-text-editor .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-text-editor .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-text-editor .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1487 .elementor-element.elementor-element-f449b3f{font-family:"Poppins", Sans-serif;font-weight:400;}body.elementor-page-1487:not(.elementor-motion-effects-element-type-background), body.elementor-page-1487 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://blessitpets.com/wp-content/uploads/2026/03/seccion4-2_7_11zon-scaled.webp");}@media(max-width:767px){.elementor-1487 .elementor-element.elementor-element-146e198{text-align:center;}.elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-digits{font-size:40px;}.elementor-1487 .elementor-element.elementor-element-4ad8e24{text-align:center;}.elementor-1487 .elementor-element.elementor-element-ea05f70{text-align:center;}.elementor-1487 .elementor-element.elementor-element-4e2d38e{border-radius:20px 20px 20px 20px;}.elementor-1487 .elementor-element.elementor-element-4e2d38e > .elementor-widget-container{border-width:20px 20px 20px 20px;}.elementor-1487 .elementor-element.elementor-element-4e2d38e .swiper-wrapper{display:flex;align-items:center;}.elementor-1487 .elementor-element.elementor-element-4e2d38e .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide-image{border-radius:20px 20px 20px 20px;}.elementor-1487 .elementor-element.elementor-element-0ce0abf{text-align:center;}.elementor-1487 .elementor-element.elementor-element-cd34ce2{border-radius:20px 20px 20px 20px;}.elementor-1487 .elementor-element.elementor-element-f449b3f{text-align:justify;}}/* Start custom CSS for image, class: .elementor-element-357a611 *//* ==========================================
   IMAGE FX UNIVERSAL - VERSIÓN MÁS LENTA
   Elementor Custom CSS
========================================== */

.elementor-1487 .elementor-element.elementor-element-357a611{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Entrada suave + flotación más lenta */
  animation:
    vfxWrapIn .5s cubic-bezier(.22,.8,.26,1) both,
    vfxWrapFloat 5.8s ease-in-out .5s infinite;
}

.elementor-1487 .elementor-element.elementor-element-357a611 img{
  display: block;
  width: 100%;
  height: auto;
  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  will-change: transform, filter, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Respiración mucho más calmada */
  animation: vfxBreath 6.4s ease-in-out .5s infinite;
  transition: transform .28s cubic-bezier(.22,.8,.26,1), filter .28s ease;
  filter: contrast(1.03) saturate(1.04);
}

/* Glow más sutil */
.elementor-1487 .elementor-element.elementor-element-357a611::after{
  content: "";
  position: absolute;
  inset: -8%;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.14), transparent 35%),
    radial-gradient(circle at 80% 78%, rgba(121,54,95,.16), transparent 40%);
  mix-blend-mode: screen;
  opacity: .34;
  transform: translate3d(0,0,0) scale(1);
  animation: vfxGlow 7.2s ease-in-out infinite;
}

/* Shine menos frecuente */
.elementor-1487 .elementor-element.elementor-element-357a611::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -34%;
  width: 28%;
  height: 360%;
  pointer-events: none;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.05) 34%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.05) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-160%) skewX(-18deg);
  animation: vfxShine 8.5s linear 1.2s infinite;
}

@media (hover:hover) and (pointer:fine){
  .elementor-1487 .elementor-element.elementor-element-357a611:hover img{
    transform: translate3d(0,0,0) scale(1.035);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
  }
  .elementor-1487 .elementor-element.elementor-element-357a611:hover::before{
    animation-duration: 4.2s;
  }
}

@media (hover:none), (pointer:coarse){
  .elementor-1487 .elementor-element.elementor-element-357a611{
    border-radius: 14px;
  }
  .elementor-1487 .elementor-element.elementor-element-357a611 img{
    animation-duration: 6.8s;
  }
  .elementor-1487 .elementor-element.elementor-element-357a611::before{
    animation-duration: 10s;
  }
  .elementor-1487 .elementor-element.elementor-element-357a611::after{
    animation-duration: 8s;
  }
  .elementor-1487 .elementor-element.elementor-element-357a611:active img{
    transform: translate3d(0,0,0) scale(1.025);
    filter: contrast(1.04) saturate(1.05);
  }
}

@media (max-width: 767px){
  .elementor-1487 .elementor-element.elementor-element-357a611::before{
    width: 24%;
    opacity: .75;
  }
  .elementor-1487 .elementor-element.elementor-element-357a611::after{
    opacity: .28;
  }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-357a611,
  .elementor-1487 .elementor-element.elementor-element-357a611 img,
  .elementor-1487 .elementor-element.elementor-element-357a611::before,
  .elementor-1487 .elementor-element.elementor-element-357a611::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,8px,0) scale(.992); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}
@keyframes vfxWrapFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-3px,0); }
}
@keyframes vfxBreath{
  0%,100%{ transform: translate3d(0,0,0) scale(1.01); }
  50%    { transform: translate3d(0,0,0) scale(1.026); }
}
@keyframes vfxGlow{
  0%,100%{ opacity:.28; transform: scale(1); }
  50%    { opacity:.42; transform: scale(1.015); }
}
@keyframes vfxShine{
  0%   { transform: translateX(-160%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-32f7405 *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-1487 .elementor-element.elementor-element-32f7405 .elementor-button{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(5deg,#17A42B 5%, #BDD2C0 100%);
  color: #fff;
  min-height: 52px;              /* mejor tap target móvil */
  padding: 14px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;

  transition: transform .22s ease, filter .25s ease, box-shadow .3s ease;
  box-shadow: 0 10px 24px rgba(102,30,71,.28);
  animation: s1_btn_pulse 2.4s infinite;
}

/* Shine */
.elementor-1487 .elementor-element.elementor-element-32f7405 .elementor-button::before{
  content: "";
  position: absolute;
  top: -120%;
  left: -30%;
  width: 28%;
  height: 340%;
  background: rgba(255,255,255,.22);
  transform: translateX(-145%) skewX(-18deg);
  pointer-events: none;
}

/* Hover desktop */
@media (hover: hover) and (pointer: fine){
  .elementor-1487 .elementor-element.elementor-element-32f7405 .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-1487 .elementor-element.elementor-element-32f7405 .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-1487 .elementor-element.elementor-element-32f7405 .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-1487 .elementor-element.elementor-element-32f7405 .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-1487 .elementor-element.elementor-element-32f7405 .elementor-button:focus-visible{
  outline: 2px solid rgba(255,255,255,.82);
  outline-offset: 2px;
}

@keyframes s1_btn_pulse{
  0%   { transform: scale(.97); box-shadow: 0 0 0 0 rgba(102,30,71,.52); }
  70%  { transform: scale(1);   box-shadow: 0 0 0 14px rgba(35, 220, 61, 1); }
  100% { transform: scale(.97); box-shadow: 0 0 0 0 rgba(102,30,71,0); }
}
@keyframes s1_btn_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-32f7405 .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-96428d0 *//* ==========================================
   IMAGE FX UNIVERSAL - VERSIÓN MÁS LENTA
   Elementor Custom CSS
========================================== */

.elementor-1487 .elementor-element.elementor-element-96428d0{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Entrada suave + flotación más lenta */
  animation:
    vfxWrapIn .5s cubic-bezier(.22,.8,.26,1) both,
    vfxWrapFloat 5.8s ease-in-out .5s infinite;
}

.elementor-1487 .elementor-element.elementor-element-96428d0 img{
  display: block;
  width: 100%;
  height: auto;
  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  will-change: transform, filter, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Respiración mucho más calmada */
  animation: vfxBreath 6.4s ease-in-out .5s infinite;
  transition: transform .28s cubic-bezier(.22,.8,.26,1), filter .28s ease;
  filter: contrast(1.03) saturate(1.04);
}

/* Glow más sutil */
.elementor-1487 .elementor-element.elementor-element-96428d0::after{
  content: "";
  position: absolute;
  inset: -8%;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.14), transparent 35%),
    radial-gradient(circle at 80% 78%, rgba(121,54,95,.16), transparent 40%);
  mix-blend-mode: screen;
  opacity: .34;
  transform: translate3d(0,0,0) scale(1);
  animation: vfxGlow 7.2s ease-in-out infinite;
}

/* Shine menos frecuente */
.elementor-1487 .elementor-element.elementor-element-96428d0::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -34%;
  width: 28%;
  height: 360%;
  pointer-events: none;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.05) 34%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.05) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-160%) skewX(-18deg);
  animation: vfxShine 8.5s linear 1.2s infinite;
}

@media (hover:hover) and (pointer:fine){
  .elementor-1487 .elementor-element.elementor-element-96428d0:hover img{
    transform: translate3d(0,0,0) scale(1.035);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
  }
  .elementor-1487 .elementor-element.elementor-element-96428d0:hover::before{
    animation-duration: 4.2s;
  }
}

@media (hover:none), (pointer:coarse){
  .elementor-1487 .elementor-element.elementor-element-96428d0{
    border-radius: 14px;
  }
  .elementor-1487 .elementor-element.elementor-element-96428d0 img{
    animation-duration: 6.8s;
  }
  .elementor-1487 .elementor-element.elementor-element-96428d0::before{
    animation-duration: 10s;
  }
  .elementor-1487 .elementor-element.elementor-element-96428d0::after{
    animation-duration: 8s;
  }
  .elementor-1487 .elementor-element.elementor-element-96428d0:active img{
    transform: translate3d(0,0,0) scale(1.025);
    filter: contrast(1.04) saturate(1.05);
  }
}

@media (max-width: 767px){
  .elementor-1487 .elementor-element.elementor-element-96428d0::before{
    width: 24%;
    opacity: .75;
  }
  .elementor-1487 .elementor-element.elementor-element-96428d0::after{
    opacity: .28;
  }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-96428d0,
  .elementor-1487 .elementor-element.elementor-element-96428d0 img,
  .elementor-1487 .elementor-element.elementor-element-96428d0::before,
  .elementor-1487 .elementor-element.elementor-element-96428d0::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,8px,0) scale(.992); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}
@keyframes vfxWrapFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-3px,0); }
}
@keyframes vfxBreath{
  0%,100%{ transform: translate3d(0,0,0) scale(1.01); }
  50%    { transform: translate3d(0,0,0) scale(1.026); }
}
@keyframes vfxGlow{
  0%,100%{ opacity:.28; transform: scale(1); }
  50%    { opacity:.42; transform: scale(1.015); }
}
@keyframes vfxShine{
  0%   { transform: translateX(-160%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-0aac0ac *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-1487 .elementor-element.elementor-element-0aac0ac .elementor-button{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(5deg,#17A42B 5%, #BDD2C0 100%);
  color: #fff;
  min-height: 52px;              /* mejor tap target móvil */
  padding: 14px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;

  transition: transform .22s ease, filter .25s ease, box-shadow .3s ease;
  box-shadow: 0 10px 24px rgba(102,30,71,.28);
  animation: s1_btn_pulse 2.4s infinite;
}

/* Shine */
.elementor-1487 .elementor-element.elementor-element-0aac0ac .elementor-button::before{
  content: "";
  position: absolute;
  top: -120%;
  left: -30%;
  width: 28%;
  height: 340%;
  background: rgba(255,255,255,.22);
  transform: translateX(-145%) skewX(-18deg);
  pointer-events: none;
}

/* Hover desktop */
@media (hover: hover) and (pointer: fine){
  .elementor-1487 .elementor-element.elementor-element-0aac0ac .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-1487 .elementor-element.elementor-element-0aac0ac .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-1487 .elementor-element.elementor-element-0aac0ac .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-1487 .elementor-element.elementor-element-0aac0ac .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-1487 .elementor-element.elementor-element-0aac0ac .elementor-button:focus-visible{
  outline: 2px solid rgba(255,255,255,.82);
  outline-offset: 2px;
}

@keyframes s1_btn_pulse{
  0%   { transform: scale(.97); box-shadow: 0 0 0 0 rgba(102,30,71,.52); }
  70%  { transform: scale(1);   box-shadow: 0 0 0 14px rgba(35, 220, 61, 1); }
  100% { transform: scale(.97); box-shadow: 0 0 0 0 rgba(102,30,71,0); }
}
@keyframes s1_btn_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-0aac0ac .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-95e2687 *//* ==========================================
   IMAGE FX UNIVERSAL - VERSIÓN MÁS LENTA
   Elementor Custom CSS
========================================== */

.elementor-1487 .elementor-element.elementor-element-95e2687{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Entrada suave + flotación más lenta */
  animation:
    vfxWrapIn .5s cubic-bezier(.22,.8,.26,1) both,
    vfxWrapFloat 5.8s ease-in-out .5s infinite;
}

.elementor-1487 .elementor-element.elementor-element-95e2687 img{
  display: block;
  width: 100%;
  height: auto;
  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  will-change: transform, filter, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Respiración mucho más calmada */
  animation: vfxBreath 6.4s ease-in-out .5s infinite;
  transition: transform .28s cubic-bezier(.22,.8,.26,1), filter .28s ease;
  filter: contrast(1.03) saturate(1.04);
}

/* Glow más sutil */
.elementor-1487 .elementor-element.elementor-element-95e2687::after{
  content: "";
  position: absolute;
  inset: -8%;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.14), transparent 35%),
    radial-gradient(circle at 80% 78%, rgba(121,54,95,.16), transparent 40%);
  mix-blend-mode: screen;
  opacity: .34;
  transform: translate3d(0,0,0) scale(1);
  animation: vfxGlow 7.2s ease-in-out infinite;
}

/* Shine menos frecuente */
.elementor-1487 .elementor-element.elementor-element-95e2687::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -34%;
  width: 28%;
  height: 360%;
  pointer-events: none;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.05) 34%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.05) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-160%) skewX(-18deg);
  animation: vfxShine 8.5s linear 1.2s infinite;
}

@media (hover:hover) and (pointer:fine){
  .elementor-1487 .elementor-element.elementor-element-95e2687:hover img{
    transform: translate3d(0,0,0) scale(1.035);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
  }
  .elementor-1487 .elementor-element.elementor-element-95e2687:hover::before{
    animation-duration: 4.2s;
  }
}

@media (hover:none), (pointer:coarse){
  .elementor-1487 .elementor-element.elementor-element-95e2687{
    border-radius: 14px;
  }
  .elementor-1487 .elementor-element.elementor-element-95e2687 img{
    animation-duration: 6.8s;
  }
  .elementor-1487 .elementor-element.elementor-element-95e2687::before{
    animation-duration: 10s;
  }
  .elementor-1487 .elementor-element.elementor-element-95e2687::after{
    animation-duration: 8s;
  }
  .elementor-1487 .elementor-element.elementor-element-95e2687:active img{
    transform: translate3d(0,0,0) scale(1.025);
    filter: contrast(1.04) saturate(1.05);
  }
}

@media (max-width: 767px){
  .elementor-1487 .elementor-element.elementor-element-95e2687::before{
    width: 24%;
    opacity: .75;
  }
  .elementor-1487 .elementor-element.elementor-element-95e2687::after{
    opacity: .28;
  }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-95e2687,
  .elementor-1487 .elementor-element.elementor-element-95e2687 img,
  .elementor-1487 .elementor-element.elementor-element-95e2687::before,
  .elementor-1487 .elementor-element.elementor-element-95e2687::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,8px,0) scale(.992); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}
@keyframes vfxWrapFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-3px,0); }
}
@keyframes vfxBreath{
  0%,100%{ transform: translate3d(0,0,0) scale(1.01); }
  50%    { transform: translate3d(0,0,0) scale(1.026); }
}
@keyframes vfxGlow{
  0%,100%{ opacity:.28; transform: scale(1); }
  50%    { opacity:.42; transform: scale(1.015); }
}
@keyframes vfxShine{
  0%   { transform: translateX(-160%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-731cf68 *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-1487 .elementor-element.elementor-element-731cf68 .elementor-button{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(5deg,#17A42B 5%, #BDD2C0 100%);
  color: #fff;
  min-height: 52px;              /* mejor tap target móvil */
  padding: 14px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;

  transition: transform .22s ease, filter .25s ease, box-shadow .3s ease;
  box-shadow: 0 10px 24px rgba(102,30,71,.28);
  animation: s1_btn_pulse 2.4s infinite;
}

/* Shine */
.elementor-1487 .elementor-element.elementor-element-731cf68 .elementor-button::before{
  content: "";
  position: absolute;
  top: -120%;
  left: -30%;
  width: 28%;
  height: 340%;
  background: rgba(255,255,255,.22);
  transform: translateX(-145%) skewX(-18deg);
  pointer-events: none;
}

/* Hover desktop */
@media (hover: hover) and (pointer: fine){
  .elementor-1487 .elementor-element.elementor-element-731cf68 .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-1487 .elementor-element.elementor-element-731cf68 .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-1487 .elementor-element.elementor-element-731cf68 .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-1487 .elementor-element.elementor-element-731cf68 .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-1487 .elementor-element.elementor-element-731cf68 .elementor-button:focus-visible{
  outline: 2px solid rgba(255,255,255,.82);
  outline-offset: 2px;
}

@keyframes s1_btn_pulse{
  0%   { transform: scale(.97); box-shadow: 0 0 0 0 rgba(102,30,71,.52); }
  70%  { transform: scale(1);   box-shadow: 0 0 0 14px rgba(35, 220, 61, 1); }
  100% { transform: scale(.97); box-shadow: 0 0 0 0 rgba(102,30,71,0); }
}
@keyframes s1_btn_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-731cf68 .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */




/* Start custom CSS for countdown, class: .elementor-element-58a1572 *//* ==========================================
   COUNTDOWN IMPACTO — ROJO LLAMATIVO
   Elementor Pro
========================================== */

.elementor-1487 .elementor-element.elementor-element-58a1572{
  --cd-red-top: #FF7D7D;
  --cd-red-mid: #F04444;
  --cd-red-bottom: #C81E1E;
  --cd-red-deep: #8F1111;
  --cd-label: #7E1A1A;
  --cd-shell-top: #FFF7F7;
  --cd-shell-bottom: #FFEDED;
}

.elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-wrapper{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}

.elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-item{
  position: relative;
  overflow: hidden;
  min-width: 92px;
  padding: 16px 12px 12px;
  border-radius: 20px;
  background: linear-gradient(180deg, var(--cd-red-top) 0%, var(--cd-red-mid) 48%, var(--cd-red-bottom) 100%);
  border: 1px solid rgba(255,255,255,.24);
  box-shadow:
    0 16px 30px rgba(200,30,30,.28),
    0 6px 14px rgba(143,17,17,.16),
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(90,0,0,.18);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  animation: cdImpactPulse 2.8s ease-in-out infinite;
}

.elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-item::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,.08) 22%, rgba(255,255,255,0) 42%),
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.22), transparent 30%);
}

.elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-item::after{
  content: "";
  position: absolute;
  top: -35%;
  left: -26%;
  width: 22%;
  height: 180%;
  pointer-events: none;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.10) 40%,
    rgba(255,255,255,.28) 50%,
    rgba(255,255,255,.10) 60%,
    rgba(255,255,255,0) 100%
  );
  transform: rotate(16deg) translateX(-240%);
  animation: cdImpactShine 4.2s linear infinite;
}

.elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-digits{
  position: relative;
  z-index: 2;
  display: block;
  color: #FFFFFF;
  font-weight: 900;
  line-height: 1;
  text-shadow:
    0 1px 0 rgba(255,255,255,.10),
    0 2px 8px rgba(127,0,0,.20);
  transform: scale(1);
}

.elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-label{
  position: relative;
  z-index: 2;
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.92);
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
}

.elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-separator{
  align-self: center;
  color: #E64545;
  font-weight: 900;
  opacity: .95;
}

@media (hover:hover){
  .elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-item:hover{
    transform: translateY(-3px) scale(1.03);
    filter: saturate(1.05) brightness(1.02);
    box-shadow:
      0 20px 36px rgba(200,30,30,.34),
      0 8px 16px rgba(143,17,17,.18),
      0 0 0 8px rgba(240,68,68,.08),
      inset 0 1px 0 rgba(255,255,255,.34);
  }

  .elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-item:hover::after{
    animation-duration: 2.2s;
  }
}

@media (max-width: 767px){
  .elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-wrapper{
    gap: 10px;
  }

  .elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-item{
    min-width: 74px;
    padding: 13px 10px 10px;
    border-radius: 16px;
  }

  .elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-item::after{
    animation-duration: 4.8s;
  }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-item,
  .elementor-1487 .elementor-element.elementor-element-58a1572 .elementor-countdown-item::after{
    animation: none !important;
  }
}

@keyframes cdImpactPulse{
  0%,100%{
    box-shadow:
      0 16px 30px rgba(200,30,30,.28),
      0 6px 14px rgba(143,17,17,.16),
      0 0 0 0 rgba(240,68,68,.18),
      inset 0 1px 0 rgba(255,255,255,.28);
  }
  65%{
    box-shadow:
      0 16px 30px rgba(200,30,30,.28),
      0 6px 14px rgba(143,17,17,.16),
      0 0 0 12px rgba(240,68,68,0),
      inset 0 1px 0 rgba(255,255,255,.28);
  }
}

@keyframes cdImpactShine{
  0%{ transform: rotate(16deg) translateX(-240%); }
  100%{ transform: rotate(16deg) translateX(680%); }
}/* End custom CSS */

/* Start custom CSS for image, class: .elementor-element-294d202 *//* ==========================================
   IMAGE FX UNIVERSAL - VERSIÓN MÁS LENTA
   Elementor Custom CSS
========================================== */

.elementor-1487 .elementor-element.elementor-element-294d202{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Entrada suave + flotación más lenta */
  animation:
    vfxWrapIn .5s cubic-bezier(.22,.8,.26,1) both,
    vfxWrapFloat 5.8s ease-in-out .5s infinite;
}

.elementor-1487 .elementor-element.elementor-element-294d202 img{
  display: block;
  width: 100%;
  height: auto;
  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  will-change: transform, filter, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Respiración mucho más calmada */
  animation: vfxBreath 6.4s ease-in-out .5s infinite;
  transition: transform .28s cubic-bezier(.22,.8,.26,1), filter .28s ease;
  filter: contrast(1.03) saturate(1.04);
}

/* Glow más sutil */
.elementor-1487 .elementor-element.elementor-element-294d202::after{
  content: "";
  position: absolute;
  inset: -8%;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.14), transparent 35%),
    radial-gradient(circle at 80% 78%, rgba(121,54,95,.16), transparent 40%);
  mix-blend-mode: screen;
  opacity: .34;
  transform: translate3d(0,0,0) scale(1);
  animation: vfxGlow 7.2s ease-in-out infinite;
}

/* Shine menos frecuente */
.elementor-1487 .elementor-element.elementor-element-294d202::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -34%;
  width: 28%;
  height: 360%;
  pointer-events: none;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.05) 34%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.05) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-160%) skewX(-18deg);
  animation: vfxShine 8.5s linear 1.2s infinite;
}

@media (hover:hover) and (pointer:fine){
  .elementor-1487 .elementor-element.elementor-element-294d202:hover img{
    transform: translate3d(0,0,0) scale(1.035);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
  }
  .elementor-1487 .elementor-element.elementor-element-294d202:hover::before{
    animation-duration: 4.2s;
  }
}

@media (hover:none), (pointer:coarse){
  .elementor-1487 .elementor-element.elementor-element-294d202{
    border-radius: 14px;
  }
  .elementor-1487 .elementor-element.elementor-element-294d202 img{
    animation-duration: 6.8s;
  }
  .elementor-1487 .elementor-element.elementor-element-294d202::before{
    animation-duration: 10s;
  }
  .elementor-1487 .elementor-element.elementor-element-294d202::after{
    animation-duration: 8s;
  }
  .elementor-1487 .elementor-element.elementor-element-294d202:active img{
    transform: translate3d(0,0,0) scale(1.025);
    filter: contrast(1.04) saturate(1.05);
  }
}

@media (max-width: 767px){
  .elementor-1487 .elementor-element.elementor-element-294d202::before{
    width: 24%;
    opacity: .75;
  }
  .elementor-1487 .elementor-element.elementor-element-294d202::after{
    opacity: .28;
  }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-294d202,
  .elementor-1487 .elementor-element.elementor-element-294d202 img,
  .elementor-1487 .elementor-element.elementor-element-294d202::before,
  .elementor-1487 .elementor-element.elementor-element-294d202::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,8px,0) scale(.992); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}
@keyframes vfxWrapFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-3px,0); }
}
@keyframes vfxBreath{
  0%,100%{ transform: translate3d(0,0,0) scale(1.01); }
  50%    { transform: translate3d(0,0,0) scale(1.026); }
}
@keyframes vfxGlow{
  0%,100%{ opacity:.28; transform: scale(1); }
  50%    { opacity:.42; transform: scale(1.015); }
}
@keyframes vfxShine{
  0%   { transform: translateX(-160%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */


/* Start custom CSS for progress, class: .elementor-element-35d223d *//* ==========================================
   PROGRESS BAR INDIVIDUAL — ROJO URGENCIA
   Elementor Pro
========================================== */

.elementor-1487 .elementor-element.elementor-element-35d223d{
  --urg-red-1: #FF7A7A;
  --urg-red-2: #E54848;
  --urg-red-3: #B91C1C;
  --urg-bg-1: #FFF9F9;
  --urg-bg-2: #FFF2F2;
}

.elementor-1487 .elementor-element.elementor-element-35d223d .elementor-progress-wrapper{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(229,72,72,.16);
  background: linear-gradient(180deg, var(--urg-bg-1) 0%, var(--urg-bg-2) 100%);
  box-shadow:
    0 10px 24px rgba(185,28,28,.08),
    inset 0 1px 0 rgba(255,255,255,.75);
  padding: 4px;
}

.elementor-1487 .elementor-element.elementor-element-35d223d .elementor-progress-bar{
  position: relative;
  overflow: hidden;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--urg-red-1) 0%, var(--urg-red-2) 45%, var(--urg-red-3) 100%);
  box-shadow:
    0 6px 16px rgba(229,72,72,.24),
    inset 0 1px 0 rgba(255,255,255,.22);
  animation: progressUrgGlow 2.6s ease-in-out infinite;
}

.elementor-1487 .elementor-element.elementor-element-35d223d .elementor-progress-bar::before{
  content: "";
  position: absolute;
  top: -40%;
  left: -20%;
  width: 22%;
  height: 180%;
  pointer-events: none;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.10) 40%,
    rgba(255,255,255,.30) 50%,
    rgba(255,255,255,.10) 60%,
    rgba(255,255,255,0) 100%
  );
  transform: rotate(18deg) translateX(-220%);
  animation: progressUrgShine 3.8s linear infinite;
}

.elementor-1487 .elementor-element.elementor-element-35d223d .elementor-progress-text{
  color: #ffffff !important;
  font-weight: 700;
  letter-spacing: .2px;
}

@media (max-width: 767px){
  .elementor-1487 .elementor-element.elementor-element-35d223d .elementor-progress-wrapper{
    border-radius: 16px;
  }

  .elementor-1487 .elementor-element.elementor-element-35d223d .elementor-progress-bar::before{
    animation-duration: 4.4s;
  }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-35d223d .elementor-progress-bar,
  .elementor-1487 .elementor-element.elementor-element-35d223d .elementor-progress-bar::before{
    animation: none !important;
  }
}

@keyframes progressUrgGlow{
  0%,100%{
    box-shadow:
      0 6px 16px rgba(229,72,72,.24),
      0 0 0 0 rgba(229,72,72,.16),
      inset 0 1px 0 rgba(255,255,255,.22);
  }
  60%{
    box-shadow:
      0 6px 16px rgba(229,72,72,.24),
      0 0 0 10px rgba(229,72,72,0),
      inset 0 1px 0 rgba(255,255,255,.22);
  }
}

@keyframes progressUrgShine{
  0%{ transform: rotate(18deg) translateX(-220%); }
  100%{ transform: rotate(18deg) translateX(680%); }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-78969b4 *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-1487 .elementor-element.elementor-element-78969b4 .elementor-button{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(5deg,#17A42B 5%, #BDD2C0 100%);
  color: #fff;
  min-height: 52px;              /* mejor tap target móvil */
  padding: 14px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;

  transition: transform .22s ease, filter .25s ease, box-shadow .3s ease;
  box-shadow: 0 10px 24px rgba(102,30,71,.28);
  animation: s1_btn_pulse 2.4s infinite;
}

/* Shine */
.elementor-1487 .elementor-element.elementor-element-78969b4 .elementor-button::before{
  content: "";
  position: absolute;
  top: -120%;
  left: -30%;
  width: 28%;
  height: 340%;
  background: rgba(255,255,255,.22);
  transform: translateX(-145%) skewX(-18deg);
  pointer-events: none;
}

/* Hover desktop */
@media (hover: hover) and (pointer: fine){
  .elementor-1487 .elementor-element.elementor-element-78969b4 .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-1487 .elementor-element.elementor-element-78969b4 .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-1487 .elementor-element.elementor-element-78969b4 .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-1487 .elementor-element.elementor-element-78969b4 .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-1487 .elementor-element.elementor-element-78969b4 .elementor-button:focus-visible{
  outline: 2px solid rgba(255,255,255,.82);
  outline-offset: 2px;
}

@keyframes s1_btn_pulse{
  0%   { transform: scale(.97); box-shadow: 0 0 0 0 rgba(102,30,71,.52); }
  70%  { transform: scale(1);   box-shadow: 0 0 0 14px rgba(35, 220, 61, 1); }
  100% { transform: scale(.97); box-shadow: 0 0 0 0 rgba(102,30,71,0); }
}
@keyframes s1_btn_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-78969b4 .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-944fd65 *//* ==========================================
   IMAGE FX UNIVERSAL - VERSIÓN MÁS LENTA
   Elementor Custom CSS
========================================== */

.elementor-1487 .elementor-element.elementor-element-944fd65{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Entrada suave + flotación más lenta */
  animation:
    vfxWrapIn .5s cubic-bezier(.22,.8,.26,1) both,
    vfxWrapFloat 5.8s ease-in-out .5s infinite;
}

.elementor-1487 .elementor-element.elementor-element-944fd65 img{
  display: block;
  width: 100%;
  height: auto;
  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  will-change: transform, filter, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Respiración mucho más calmada */
  animation: vfxBreath 6.4s ease-in-out .5s infinite;
  transition: transform .28s cubic-bezier(.22,.8,.26,1), filter .28s ease;
  filter: contrast(1.03) saturate(1.04);
}

/* Glow más sutil */
.elementor-1487 .elementor-element.elementor-element-944fd65::after{
  content: "";
  position: absolute;
  inset: -8%;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.14), transparent 35%),
    radial-gradient(circle at 80% 78%, rgba(121,54,95,.16), transparent 40%);
  mix-blend-mode: screen;
  opacity: .34;
  transform: translate3d(0,0,0) scale(1);
  animation: vfxGlow 7.2s ease-in-out infinite;
}

/* Shine menos frecuente */
.elementor-1487 .elementor-element.elementor-element-944fd65::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -34%;
  width: 28%;
  height: 360%;
  pointer-events: none;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.05) 34%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.05) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-160%) skewX(-18deg);
  animation: vfxShine 8.5s linear 1.2s infinite;
}

@media (hover:hover) and (pointer:fine){
  .elementor-1487 .elementor-element.elementor-element-944fd65:hover img{
    transform: translate3d(0,0,0) scale(1.035);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
  }
  .elementor-1487 .elementor-element.elementor-element-944fd65:hover::before{
    animation-duration: 4.2s;
  }
}

@media (hover:none), (pointer:coarse){
  .elementor-1487 .elementor-element.elementor-element-944fd65{
    border-radius: 14px;
  }
  .elementor-1487 .elementor-element.elementor-element-944fd65 img{
    animation-duration: 6.8s;
  }
  .elementor-1487 .elementor-element.elementor-element-944fd65::before{
    animation-duration: 10s;
  }
  .elementor-1487 .elementor-element.elementor-element-944fd65::after{
    animation-duration: 8s;
  }
  .elementor-1487 .elementor-element.elementor-element-944fd65:active img{
    transform: translate3d(0,0,0) scale(1.025);
    filter: contrast(1.04) saturate(1.05);
  }
}

@media (max-width: 767px){
  .elementor-1487 .elementor-element.elementor-element-944fd65::before{
    width: 24%;
    opacity: .75;
  }
  .elementor-1487 .elementor-element.elementor-element-944fd65::after{
    opacity: .28;
  }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-944fd65,
  .elementor-1487 .elementor-element.elementor-element-944fd65 img,
  .elementor-1487 .elementor-element.elementor-element-944fd65::before,
  .elementor-1487 .elementor-element.elementor-element-944fd65::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,8px,0) scale(.992); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}
@keyframes vfxWrapFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-3px,0); }
}
@keyframes vfxBreath{
  0%,100%{ transform: translate3d(0,0,0) scale(1.01); }
  50%    { transform: translate3d(0,0,0) scale(1.026); }
}
@keyframes vfxGlow{
  0%,100%{ opacity:.28; transform: scale(1); }
  50%    { opacity:.42; transform: scale(1.015); }
}
@keyframes vfxShine{
  0%   { transform: translateX(-160%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-4cc6f13 *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-1487 .elementor-element.elementor-element-4cc6f13 .elementor-button{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(5deg,#17A42B 5%, #BDD2C0 100%);
  color: #fff;
  min-height: 52px;              /* mejor tap target móvil */
  padding: 14px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;

  transition: transform .22s ease, filter .25s ease, box-shadow .3s ease;
  box-shadow: 0 10px 24px rgba(102,30,71,.28);
  animation: s1_btn_pulse 2.4s infinite;
}

/* Shine */
.elementor-1487 .elementor-element.elementor-element-4cc6f13 .elementor-button::before{
  content: "";
  position: absolute;
  top: -120%;
  left: -30%;
  width: 28%;
  height: 340%;
  background: rgba(255,255,255,.22);
  transform: translateX(-145%) skewX(-18deg);
  pointer-events: none;
}

/* Hover desktop */
@media (hover: hover) and (pointer: fine){
  .elementor-1487 .elementor-element.elementor-element-4cc6f13 .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-1487 .elementor-element.elementor-element-4cc6f13 .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-1487 .elementor-element.elementor-element-4cc6f13 .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-1487 .elementor-element.elementor-element-4cc6f13 .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-1487 .elementor-element.elementor-element-4cc6f13 .elementor-button:focus-visible{
  outline: 2px solid rgba(255,255,255,.82);
  outline-offset: 2px;
}

@keyframes s1_btn_pulse{
  0%   { transform: scale(.97); box-shadow: 0 0 0 0 rgba(102,30,71,.52); }
  70%  { transform: scale(1);   box-shadow: 0 0 0 14px rgba(35, 220, 61, 1); }
  100% { transform: scale(.97); box-shadow: 0 0 0 0 rgba(102,30,71,0); }
}
@keyframes s1_btn_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-4cc6f13 .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-a70b51a *//* ==========================================
   IMAGE FX UNIVERSAL - VERSIÓN MÁS LENTA
   Elementor Custom CSS
========================================== */

.elementor-1487 .elementor-element.elementor-element-a70b51a{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Entrada suave + flotación más lenta */
  animation:
    vfxWrapIn .5s cubic-bezier(.22,.8,.26,1) both,
    vfxWrapFloat 5.8s ease-in-out .5s infinite;
}

.elementor-1487 .elementor-element.elementor-element-a70b51a img{
  display: block;
  width: 100%;
  height: auto;
  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  will-change: transform, filter, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Respiración mucho más calmada */
  animation: vfxBreath 6.4s ease-in-out .5s infinite;
  transition: transform .28s cubic-bezier(.22,.8,.26,1), filter .28s ease;
  filter: contrast(1.03) saturate(1.04);
}

/* Glow más sutil */
.elementor-1487 .elementor-element.elementor-element-a70b51a::after{
  content: "";
  position: absolute;
  inset: -8%;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.14), transparent 35%),
    radial-gradient(circle at 80% 78%, rgba(121,54,95,.16), transparent 40%);
  mix-blend-mode: screen;
  opacity: .34;
  transform: translate3d(0,0,0) scale(1);
  animation: vfxGlow 7.2s ease-in-out infinite;
}

/* Shine menos frecuente */
.elementor-1487 .elementor-element.elementor-element-a70b51a::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -34%;
  width: 28%;
  height: 360%;
  pointer-events: none;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.05) 34%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.05) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-160%) skewX(-18deg);
  animation: vfxShine 8.5s linear 1.2s infinite;
}

@media (hover:hover) and (pointer:fine){
  .elementor-1487 .elementor-element.elementor-element-a70b51a:hover img{
    transform: translate3d(0,0,0) scale(1.035);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
  }
  .elementor-1487 .elementor-element.elementor-element-a70b51a:hover::before{
    animation-duration: 4.2s;
  }
}

@media (hover:none), (pointer:coarse){
  .elementor-1487 .elementor-element.elementor-element-a70b51a{
    border-radius: 14px;
  }
  .elementor-1487 .elementor-element.elementor-element-a70b51a img{
    animation-duration: 6.8s;
  }
  .elementor-1487 .elementor-element.elementor-element-a70b51a::before{
    animation-duration: 10s;
  }
  .elementor-1487 .elementor-element.elementor-element-a70b51a::after{
    animation-duration: 8s;
  }
  .elementor-1487 .elementor-element.elementor-element-a70b51a:active img{
    transform: translate3d(0,0,0) scale(1.025);
    filter: contrast(1.04) saturate(1.05);
  }
}

@media (max-width: 767px){
  .elementor-1487 .elementor-element.elementor-element-a70b51a::before{
    width: 24%;
    opacity: .75;
  }
  .elementor-1487 .elementor-element.elementor-element-a70b51a::after{
    opacity: .28;
  }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-a70b51a,
  .elementor-1487 .elementor-element.elementor-element-a70b51a img,
  .elementor-1487 .elementor-element.elementor-element-a70b51a::before,
  .elementor-1487 .elementor-element.elementor-element-a70b51a::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,8px,0) scale(.992); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}
@keyframes vfxWrapFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-3px,0); }
}
@keyframes vfxBreath{
  0%,100%{ transform: translate3d(0,0,0) scale(1.01); }
  50%    { transform: translate3d(0,0,0) scale(1.026); }
}
@keyframes vfxGlow{
  0%,100%{ opacity:.28; transform: scale(1); }
  50%    { opacity:.42; transform: scale(1.015); }
}
@keyframes vfxShine{
  0%   { transform: translateX(-160%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-f328681 *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-1487 .elementor-element.elementor-element-f328681 .elementor-button{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(5deg,#17A42B 5%, #BDD2C0 100%);
  color: #fff;
  min-height: 52px;              /* mejor tap target móvil */
  padding: 14px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;

  transition: transform .22s ease, filter .25s ease, box-shadow .3s ease;
  box-shadow: 0 10px 24px rgba(102,30,71,.28);
  animation: s1_btn_pulse 2.4s infinite;
}

/* Shine */
.elementor-1487 .elementor-element.elementor-element-f328681 .elementor-button::before{
  content: "";
  position: absolute;
  top: -120%;
  left: -30%;
  width: 28%;
  height: 340%;
  background: rgba(255,255,255,.22);
  transform: translateX(-145%) skewX(-18deg);
  pointer-events: none;
}

/* Hover desktop */
@media (hover: hover) and (pointer: fine){
  .elementor-1487 .elementor-element.elementor-element-f328681 .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-1487 .elementor-element.elementor-element-f328681 .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-1487 .elementor-element.elementor-element-f328681 .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-1487 .elementor-element.elementor-element-f328681 .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-1487 .elementor-element.elementor-element-f328681 .elementor-button:focus-visible{
  outline: 2px solid rgba(255,255,255,.82);
  outline-offset: 2px;
}

@keyframes s1_btn_pulse{
  0%   { transform: scale(.97); box-shadow: 0 0 0 0 rgba(102,30,71,.52); }
  70%  { transform: scale(1);   box-shadow: 0 0 0 14px rgba(35, 220, 61, 1); }
  100% { transform: scale(.97); box-shadow: 0 0 0 0 rgba(102,30,71,0); }
}
@keyframes s1_btn_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-f328681 .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */







/* Start custom CSS for button, class: .elementor-element-87936b6 *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-1487 .elementor-element.elementor-element-87936b6 .elementor-button{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(5deg,#17A42B 5%, #BDD2C0 100%);
  color: #fff;
  min-height: 52px;              /* mejor tap target móvil */
  padding: 14px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;

  transition: transform .22s ease, filter .25s ease, box-shadow .3s ease;
  box-shadow: 0 10px 24px rgba(102,30,71,.28);
  animation: s1_btn_pulse 2.4s infinite;
}

/* Shine */
.elementor-1487 .elementor-element.elementor-element-87936b6 .elementor-button::before{
  content: "";
  position: absolute;
  top: -120%;
  left: -30%;
  width: 28%;
  height: 340%;
  background: rgba(255,255,255,.22);
  transform: translateX(-145%) skewX(-18deg);
  pointer-events: none;
}

/* Hover desktop */
@media (hover: hover) and (pointer: fine){
  .elementor-1487 .elementor-element.elementor-element-87936b6 .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-1487 .elementor-element.elementor-element-87936b6 .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-1487 .elementor-element.elementor-element-87936b6 .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-1487 .elementor-element.elementor-element-87936b6 .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-1487 .elementor-element.elementor-element-87936b6 .elementor-button:focus-visible{
  outline: 2px solid rgba(255,255,255,.82);
  outline-offset: 2px;
}

@keyframes s1_btn_pulse{
  0%   { transform: scale(.97); box-shadow: 0 0 0 0 rgba(102,30,71,.52); }
  70%  { transform: scale(1);   box-shadow: 0 0 0 14px rgba(35, 220, 61, 1); }
  100% { transform: scale(.97); box-shadow: 0 0 0 0 rgba(102,30,71,0); }
}
@keyframes s1_btn_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-87936b6 .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */




/* Start custom CSS for image, class: .elementor-element-cd34ce2 *//* ==========================================
   IMAGE FX UNIVERSAL - VERSIÓN MÁS LENTA
   Elementor Custom CSS
========================================== */

.elementor-1487 .elementor-element.elementor-element-cd34ce2{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Entrada suave + flotación más lenta */
  animation:
    vfxWrapIn .5s cubic-bezier(.22,.8,.26,1) both,
    vfxWrapFloat 5.8s ease-in-out .5s infinite;
}

.elementor-1487 .elementor-element.elementor-element-cd34ce2 img{
  display: block;
  width: 100%;
  height: auto;
  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  will-change: transform, filter, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Respiración mucho más calmada */
  animation: vfxBreath 6.4s ease-in-out .5s infinite;
  transition: transform .28s cubic-bezier(.22,.8,.26,1), filter .28s ease;
  filter: contrast(1.03) saturate(1.04);
}

/* Glow más sutil */
.elementor-1487 .elementor-element.elementor-element-cd34ce2::after{
  content: "";
  position: absolute;
  inset: -8%;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.14), transparent 35%),
    radial-gradient(circle at 80% 78%, rgba(121,54,95,.16), transparent 40%);
  mix-blend-mode: screen;
  opacity: .34;
  transform: translate3d(0,0,0) scale(1);
  animation: vfxGlow 7.2s ease-in-out infinite;
}

/* Shine menos frecuente */
.elementor-1487 .elementor-element.elementor-element-cd34ce2::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -34%;
  width: 28%;
  height: 360%;
  pointer-events: none;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.05) 34%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.05) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-160%) skewX(-18deg);
  animation: vfxShine 8.5s linear 1.2s infinite;
}

@media (hover:hover) and (pointer:fine){
  .elementor-1487 .elementor-element.elementor-element-cd34ce2:hover img{
    transform: translate3d(0,0,0) scale(1.035);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
  }
  .elementor-1487 .elementor-element.elementor-element-cd34ce2:hover::before{
    animation-duration: 4.2s;
  }
}

@media (hover:none), (pointer:coarse){
  .elementor-1487 .elementor-element.elementor-element-cd34ce2{
    border-radius: 14px;
  }
  .elementor-1487 .elementor-element.elementor-element-cd34ce2 img{
    animation-duration: 6.8s;
  }
  .elementor-1487 .elementor-element.elementor-element-cd34ce2::before{
    animation-duration: 10s;
  }
  .elementor-1487 .elementor-element.elementor-element-cd34ce2::after{
    animation-duration: 8s;
  }
  .elementor-1487 .elementor-element.elementor-element-cd34ce2:active img{
    transform: translate3d(0,0,0) scale(1.025);
    filter: contrast(1.04) saturate(1.05);
  }
}

@media (max-width: 767px){
  .elementor-1487 .elementor-element.elementor-element-cd34ce2::before{
    width: 24%;
    opacity: .75;
  }
  .elementor-1487 .elementor-element.elementor-element-cd34ce2::after{
    opacity: .28;
  }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-cd34ce2,
  .elementor-1487 .elementor-element.elementor-element-cd34ce2 img,
  .elementor-1487 .elementor-element.elementor-element-cd34ce2::before,
  .elementor-1487 .elementor-element.elementor-element-cd34ce2::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,8px,0) scale(.992); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}
@keyframes vfxWrapFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-3px,0); }
}
@keyframes vfxBreath{
  0%,100%{ transform: translate3d(0,0,0) scale(1.01); }
  50%    { transform: translate3d(0,0,0) scale(1.026); }
}
@keyframes vfxGlow{
  0%,100%{ opacity:.28; transform: scale(1); }
  50%    { opacity:.42; transform: scale(1.015); }
}
@keyframes vfxShine{
  0%   { transform: translateX(-160%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */




/* Start custom CSS for image, class: .elementor-element-dce01db *//* ==========================================
   IMAGE FX UNIVERSAL - VERSIÓN MÁS LENTA
   Elementor Custom CSS
========================================== */

.elementor-1487 .elementor-element.elementor-element-dce01db{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Entrada suave + flotación más lenta */
  animation:
    vfxWrapIn .5s cubic-bezier(.22,.8,.26,1) both,
    vfxWrapFloat 5.8s ease-in-out .5s infinite;
}

.elementor-1487 .elementor-element.elementor-element-dce01db img{
  display: block;
  width: 100%;
  height: auto;
  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  will-change: transform, filter, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Respiración mucho más calmada */
  animation: vfxBreath 6.4s ease-in-out .5s infinite;
  transition: transform .28s cubic-bezier(.22,.8,.26,1), filter .28s ease;
  filter: contrast(1.03) saturate(1.04);
}

/* Glow más sutil */
.elementor-1487 .elementor-element.elementor-element-dce01db::after{
  content: "";
  position: absolute;
  inset: -8%;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.14), transparent 35%),
    radial-gradient(circle at 80% 78%, rgba(121,54,95,.16), transparent 40%);
  mix-blend-mode: screen;
  opacity: .34;
  transform: translate3d(0,0,0) scale(1);
  animation: vfxGlow 7.2s ease-in-out infinite;
}

/* Shine menos frecuente */
.elementor-1487 .elementor-element.elementor-element-dce01db::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -34%;
  width: 28%;
  height: 360%;
  pointer-events: none;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.05) 34%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.05) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-160%) skewX(-18deg);
  animation: vfxShine 8.5s linear 1.2s infinite;
}

@media (hover:hover) and (pointer:fine){
  .elementor-1487 .elementor-element.elementor-element-dce01db:hover img{
    transform: translate3d(0,0,0) scale(1.035);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
  }
  .elementor-1487 .elementor-element.elementor-element-dce01db:hover::before{
    animation-duration: 4.2s;
  }
}

@media (hover:none), (pointer:coarse){
  .elementor-1487 .elementor-element.elementor-element-dce01db{
    border-radius: 14px;
  }
  .elementor-1487 .elementor-element.elementor-element-dce01db img{
    animation-duration: 6.8s;
  }
  .elementor-1487 .elementor-element.elementor-element-dce01db::before{
    animation-duration: 10s;
  }
  .elementor-1487 .elementor-element.elementor-element-dce01db::after{
    animation-duration: 8s;
  }
  .elementor-1487 .elementor-element.elementor-element-dce01db:active img{
    transform: translate3d(0,0,0) scale(1.025);
    filter: contrast(1.04) saturate(1.05);
  }
}

@media (max-width: 767px){
  .elementor-1487 .elementor-element.elementor-element-dce01db::before{
    width: 24%;
    opacity: .75;
  }
  .elementor-1487 .elementor-element.elementor-element-dce01db::after{
    opacity: .28;
  }
}

@media (prefers-reduced-motion: reduce){
  .elementor-1487 .elementor-element.elementor-element-dce01db,
  .elementor-1487 .elementor-element.elementor-element-dce01db img,
  .elementor-1487 .elementor-element.elementor-element-dce01db::before,
  .elementor-1487 .elementor-element.elementor-element-dce01db::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,8px,0) scale(.992); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}
@keyframes vfxWrapFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-3px,0); }
}
@keyframes vfxBreath{
  0%,100%{ transform: translate3d(0,0,0) scale(1.01); }
  50%    { transform: translate3d(0,0,0) scale(1.026); }
}
@keyframes vfxGlow{
  0%,100%{ opacity:.28; transform: scale(1); }
  50%    { opacity:.42; transform: scale(1.015); }
}
@keyframes vfxShine{
  0%   { transform: translateX(-160%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */



