.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-153 .elementor-element.elementor-element-51f3ca71{width:var( --container-widget-width, 102.679% );max-width:102.679%;--container-widget-width:102.679%;--container-widget-flex-grow:0;}.elementor-153 .elementor-element.elementor-element-51f3ca71.elementor-element{--flex-grow:0;--flex-shrink:0;}.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-153 .elementor-element.elementor-element-72c5701 .elementor-button{background-color:#AC0000;}.elementor-153 .elementor-element.elementor-element-72c5701{width:var( --container-widget-width, 100.892% );max-width:100.892%;--container-widget-width:100.892%;--container-widget-flex-grow:0;}.elementor-153 .elementor-element.elementor-element-72c5701.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-153 .elementor-element.elementor-element-f05ba82 .elementor-button{background-color:#AC0000;}.elementor-153 .elementor-element.elementor-element-f05ba82{width:var( --container-widget-width, 100.892% );max-width:100.892%;--container-widget-width:100.892%;--container-widget-flex-grow:0;}.elementor-153 .elementor-element.elementor-element-f05ba82.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-153 .elementor-element.elementor-element-281178c .elementor-button{background-color:#AC0000;}.elementor-153 .elementor-element.elementor-element-281178c{width:var( --container-widget-width, 100.892% );max-width:100.892%;--container-widget-width:100.892%;--container-widget-flex-grow:0;}.elementor-153 .elementor-element.elementor-element-281178c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-widget-container .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-container .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-container .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-153 .elementor-element.elementor-element-e4135d6{--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-153 .elementor-element.elementor-element-e4135d6.e-con{--flex-grow:0;--flex-shrink:0;}.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-153 .elementor-element.elementor-element-96532eb .elementor-heading-title{color:#FFFFFF;}.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-153 .elementor-element.elementor-element-579da94 .elementor-countdown-wrapper{max-width:100%;}body:not(.rtl) .elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-item:not(:first-of-type){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-item:not(:last-of-type){margin-right:calc( 10px/2 );}body.rtl .elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-item:not(:first-of-type){margin-right:calc( 10px/2 );}body.rtl .elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-item:not(:last-of-type){margin-left:calc( 10px/2 );}.elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-item{background-color:#ED1E1E;border-radius:20px 20px 20px 20px;}.elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-digits{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-label{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-153 .elementor-element.elementor-element-80666a8{--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-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-153 .elementor-element.elementor-element-93c548a .elementor-title{color:#FFFFFF;font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-153 .elementor-element.elementor-element-93c548a .elementor-progress-wrapper .elementor-progress-bar{background-color:#EF0202;}.elementor-153 .elementor-element.elementor-element-93c548a .elementor-progress-bar{height:29px;line-height:29px;}.elementor-153 .elementor-element.elementor-element-93c548a .elementor-progress-wrapper{border-radius:13px;overflow:hidden;}.elementor-153 .elementor-element.elementor-element-a07a63b .elementor-button{background-color:#AC0000;}.elementor-153 .elementor-element.elementor-element-a07a63b{width:var( --container-widget-width, 100.892% );max-width:100.892%;--container-widget-width:100.892%;--container-widget-flex-grow:0;}.elementor-153 .elementor-element.elementor-element-a07a63b.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-153 .elementor-element.elementor-element-1d97011 .elementor-button{background-color:#AC0000;}.elementor-153 .elementor-element.elementor-element-1d97011{width:var( --container-widget-width, 100.892% );max-width:100.892%;--container-widget-width:100.892%;--container-widget-flex-grow:0;}.elementor-153 .elementor-element.elementor-element-1d97011.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-153 .elementor-element.elementor-element-5fa1d5b .elementor-button{background-color:#AC0000;}.elementor-153 .elementor-element.elementor-element-5fa1d5b{width:var( --container-widget-width, 100.892% );max-width:100.892%;--container-widget-width:100.892%;--container-widget-flex-grow:0;}.elementor-153 .elementor-element.elementor-element-5fa1d5b.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-153 .elementor-element.elementor-element-6ec43e9 .elementor-button{background-color:#AC0000;}.elementor-153 .elementor-element.elementor-element-6ec43e9{width:var( --container-widget-width, 100.892% );max-width:100.892%;--container-widget-width:100.892%;--container-widget-flex-grow:0;}.elementor-153 .elementor-element.elementor-element-6ec43e9.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-153 .elementor-element.elementor-element-387ac0f2{text-align:center;}.elementor-153 .elementor-element.elementor-element-387ac0f2 .elementor-heading-title{color:#FFFFFF;}.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-153 .elementor-element.elementor-element-a6f39d6{text-align:center;color:#FFFFFF;}.elementor-153 .elementor-element.elementor-element-881f474{--display:flex;}.elementor-153 .elementor-element.elementor-element-4548114{font-family:"Poppins", Sans-serif;font-weight:500;color:#FFFFFF;}body.elementor-page-153:not(.elementor-motion-effects-element-type-background), body.elementor-page-153 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://azara.com.co/wp-content/uploads/2026/03/bckgr_2_11zon-scaled.webp");}@media(max-width:767px){.elementor-153 .elementor-element.elementor-element-51f3ca71{border-radius:20px 20px 20px 20px;}.elementor-153 .elementor-element.elementor-element-6321abb7{border-radius:20px 20px 20px 20px;}.elementor-153 .elementor-element.elementor-element-b56f498{border-radius:20px 20px 20px 20px;}.elementor-153 .elementor-element.elementor-element-e4135d6{--width:280.312px;}.elementor-153 .elementor-element.elementor-element-96532eb{text-align:center;}.elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-wrapper{max-width:95%;}body:not(.rtl) .elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-item:not(:first-of-type){margin-left:calc( 22px/2 );}body:not(.rtl) .elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-item:not(:last-of-type){margin-right:calc( 22px/2 );}body.rtl .elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-item:not(:first-of-type){margin-right:calc( 22px/2 );}body.rtl .elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-item:not(:last-of-type){margin-left:calc( 22px/2 );}.elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-item{padding:10px 10px 10px 10px;}.elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-digits{font-size:47px;}.elementor-153 .elementor-element.elementor-element-579da94 .elementor-countdown-label{font-size:14px;}.elementor-153 .elementor-element.elementor-element-8b6932a{border-radius:20px 20px 20px 20px;}.elementor-153 .elementor-element.elementor-element-93c548a .elementor-title{font-size:12px;line-height:2.4em;word-spacing:0em;}.elementor-153 .elementor-element.elementor-element-10c8cf21{border-radius:20px 20px 20px 20px;}.elementor-153 .elementor-element.elementor-element-74830342{border-radius:20px 20px 20px 20px;}.elementor-153 .elementor-element.elementor-element-2f7ea0b1{border-radius:20px 20px 20px 20px;}.elementor-153 .elementor-element.elementor-element-387ac0f2{text-align:center;}.elementor-153 .elementor-element.elementor-element-383e90bb{border-radius:20px 20px 20px 20px;}.elementor-153 .elementor-element.elementor-element-a6f39d6{column-gap:0px;}.elementor-153 .elementor-element.elementor-element-4548114{text-align:center;font-size:10px;}}/* Start custom CSS for image, class: .elementor-element-51f3ca71 *//* ==========================================
   IMAGE FX UNIVERSAL — UX OPTIMIZADO
   (pegar en cada imagen) | Elementor Custom CSS (.elementor-153 .elementor-element.elementor-element-51f3ca71)
   Enfoque: Premium + cómodo + fluido en móvil
========================================== */

.elementor-153 .elementor-element.elementor-element-51f3ca71{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;

  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, opacity;

  /* Solo entrada (1 vez) para no cansar al usuario */
  animation: vfxWrapIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Imagen */
.elementor-153 .elementor-element.elementor-element-51f3ca71 img{
  display: block;
  width: 100%;
  height: auto;

  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, filter;

  transition:
    transform .22s cubic-bezier(.22,.8,.26,1),
    filter .22s ease,
    box-shadow .22s ease;

  filter: contrast(1.02) saturate(1.03);
}

/* Glow sutil (por defecto casi imperceptible) */
.elementor-153 .elementor-element.elementor-element-51f3ca71::after{
  content: "";
  position: absolute;
  inset: -10%;
  pointer-events: none;

  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.16), transparent 42%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.18), transparent 48%);

  mix-blend-mode: screen;
  opacity: .18;
  transform: translate3d(0,0,0);
  transition: opacity .22s ease, transform .22s ease;
}

/* Shine (apagado por defecto: solo aparece en interacción) */
.elementor-153 .elementor-element.elementor-element-51f3ca71::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -36%;
  width: 34%;
  height: 360%;
  pointer-events: none;

  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.08) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.08) 66%,
    rgba(255,255,255,0) 100%
  );

  transform: translateX(-170%) skewX(-18deg);
  opacity: 0; /* clave UX: no molesta hasta interactuar */
}

/* =========================
   Desktop: hover elegante
========================= */
@media (hover:hover) and (pointer:fine){
  .elementor-153 .elementor-element.elementor-element-51f3ca71:hover img{
    transform: translate3d(0,-4px,0) scale(1.03);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
    box-shadow: 0 12px 26px rgba(0,0,0,.18);
  }

  .elementor-153 .elementor-element.elementor-element-51f3ca71:hover::after{
    opacity: .45;
    transform: scale(1.01);
  }

  .elementor-153 .elementor-element.elementor-element-51f3ca71:hover::before{
    opacity: .9;
    animation: vfxShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* =========================
   Móvil/Touch: feedback al toque
   (sin animación constante para no cansar)
========================= */
@media (hover:none), (pointer:coarse){
  .elementor-153 .elementor-element.elementor-element-51f3ca71{
    border-radius: 14px;
  }

  /* Toque: micro “press” premium */
  .elementor-153 .elementor-element.elementor-element-51f3ca71:active img{
    transform: translate3d(0,-2px,0) scale(1.02);
    filter: contrast(1.04) saturate(1.05);
    box-shadow: 0 10px 22px rgba(0,0,0,.16);
  }

  .elementor-153 .elementor-element.elementor-element-51f3ca71:active::after{
    opacity: .42;
  }

  .elementor-153 .elementor-element.elementor-element-51f3ca71:active::before{
    opacity: .85;
    animation: vfxShine .9s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* Móvil pequeño: aún más liviano */
@media (max-width: 767px){
  .elementor-153 .elementor-element.elementor-element-51f3ca71::after{ opacity: .14; }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-51f3ca71,
  .elementor-153 .elementor-element.elementor-element-51f3ca71 img,
  .elementor-153 .elementor-element.elementor-element-51f3ca71::before,
  .elementor-153 .elementor-element.elementor-element-51f3ca71::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* ===== Keyframes ===== */
@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}

@keyframes vfxShine{
  0%   { transform: translateX(-170%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-72c5701 *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-153 .elementor-element.elementor-element-72c5701 .elementor-button{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(226, 25, 96, 1);
  background: linear-gradient(135deg, #FFFFFF8C 0%, #F21515 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(226, 25, 96, 1);
  animation: s1_btn_pulse 2.4s infinite;
}

/* Shine */
.elementor-153 .elementor-element.elementor-element-72c5701 .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-153 .elementor-element.elementor-element-72c5701 .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-153 .elementor-element.elementor-element-72c5701 .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-153 .elementor-element.elementor-element-72c5701 .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-153 .elementor-element.elementor-element-72c5701 .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-153 .elementor-element.elementor-element-72c5701 .elementor-button:focus-visible{
  outline: 2px solid rgba(226, 25, 96, 1);
  outline-offset: 2px;
}

@keyframes s1_btn_pulse{
  0%   { transform: scale(.97); box-shadow: 0 0 0 0 rgba(172, 0, 0, 1); }
  70%  { transform: scale(1);   box-shadow: 0 0 0 14px rgba(172, 0, 0, 1); }
  100% { transform: scale(.97); box-shadow: 0 0 0 0 rgba(172, 0, 0, 1); }
}
@keyframes s1_btn_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-72c5701 .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-6321abb7 *//* ==========================================
   IMAGE FX UNIVERSAL — UX OPTIMIZADO
   (pegar en cada imagen) | Elementor Custom CSS (.elementor-153 .elementor-element.elementor-element-6321abb7)
   Enfoque: Premium + cómodo + fluido en móvil
========================================== */

.elementor-153 .elementor-element.elementor-element-6321abb7{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;

  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, opacity;

  /* Solo entrada (1 vez) para no cansar al usuario */
  animation: vfxWrapIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Imagen */
.elementor-153 .elementor-element.elementor-element-6321abb7 img{
  display: block;
  width: 100%;
  height: auto;

  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, filter;

  transition:
    transform .22s cubic-bezier(.22,.8,.26,1),
    filter .22s ease,
    box-shadow .22s ease;

  filter: contrast(1.02) saturate(1.03);
}

/* Glow sutil (por defecto casi imperceptible) */
.elementor-153 .elementor-element.elementor-element-6321abb7::after{
  content: "";
  position: absolute;
  inset: -10%;
  pointer-events: none;

  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.16), transparent 42%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.18), transparent 48%);

  mix-blend-mode: screen;
  opacity: .18;
  transform: translate3d(0,0,0);
  transition: opacity .22s ease, transform .22s ease;
}

/* Shine (apagado por defecto: solo aparece en interacción) */
.elementor-153 .elementor-element.elementor-element-6321abb7::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -36%;
  width: 34%;
  height: 360%;
  pointer-events: none;

  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.08) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.08) 66%,
    rgba(255,255,255,0) 100%
  );

  transform: translateX(-170%) skewX(-18deg);
  opacity: 0; /* clave UX: no molesta hasta interactuar */
}

/* =========================
   Desktop: hover elegante
========================= */
@media (hover:hover) and (pointer:fine){
  .elementor-153 .elementor-element.elementor-element-6321abb7:hover img{
    transform: translate3d(0,-4px,0) scale(1.03);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
    box-shadow: 0 12px 26px rgba(0,0,0,.18);
  }

  .elementor-153 .elementor-element.elementor-element-6321abb7:hover::after{
    opacity: .45;
    transform: scale(1.01);
  }

  .elementor-153 .elementor-element.elementor-element-6321abb7:hover::before{
    opacity: .9;
    animation: vfxShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* =========================
   Móvil/Touch: feedback al toque
   (sin animación constante para no cansar)
========================= */
@media (hover:none), (pointer:coarse){
  .elementor-153 .elementor-element.elementor-element-6321abb7{
    border-radius: 14px;
  }

  /* Toque: micro “press” premium */
  .elementor-153 .elementor-element.elementor-element-6321abb7:active img{
    transform: translate3d(0,-2px,0) scale(1.02);
    filter: contrast(1.04) saturate(1.05);
    box-shadow: 0 10px 22px rgba(0,0,0,.16);
  }

  .elementor-153 .elementor-element.elementor-element-6321abb7:active::after{
    opacity: .42;
  }

  .elementor-153 .elementor-element.elementor-element-6321abb7:active::before{
    opacity: .85;
    animation: vfxShine .9s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* Móvil pequeño: aún más liviano */
@media (max-width: 767px){
  .elementor-153 .elementor-element.elementor-element-6321abb7::after{ opacity: .14; }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-6321abb7,
  .elementor-153 .elementor-element.elementor-element-6321abb7 img,
  .elementor-153 .elementor-element.elementor-element-6321abb7::before,
  .elementor-153 .elementor-element.elementor-element-6321abb7::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* ===== Keyframes ===== */
@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}

@keyframes vfxShine{
  0%   { transform: translateX(-170%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-f05ba82 *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-153 .elementor-element.elementor-element-f05ba82 .elementor-button{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(226, 25, 96, 1);
  background: linear-gradient(135deg, #FFFFFF8C 0%, #F21515 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(226, 25, 96, 1);
  animation: s1_btn_pulse 2.4s infinite;
}

/* Shine */
.elementor-153 .elementor-element.elementor-element-f05ba82 .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-153 .elementor-element.elementor-element-f05ba82 .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-153 .elementor-element.elementor-element-f05ba82 .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-153 .elementor-element.elementor-element-f05ba82 .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-153 .elementor-element.elementor-element-f05ba82 .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-153 .elementor-element.elementor-element-f05ba82 .elementor-button:focus-visible{
  outline: 2px solid rgba(226, 25, 96, 1);
  outline-offset: 2px;
}

@keyframes s1_btn_pulse{
  0%   { transform: scale(.97); box-shadow: 0 0 0 0 rgba(172, 0, 0, 1); }
  70%  { transform: scale(1);   box-shadow: 0 0 0 14px rgba(172, 0, 0, 1); }
  100% { transform: scale(.97); box-shadow: 0 0 0 0 rgba(172, 0, 0, 1); }
}
@keyframes s1_btn_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-f05ba82 .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-b56f498 *//* ==========================================
   IMAGE FX UNIVERSAL — UX OPTIMIZADO
   (pegar en cada imagen) | Elementor Custom CSS (.elementor-153 .elementor-element.elementor-element-b56f498)
   Enfoque: Premium + cómodo + fluido en móvil
========================================== */

.elementor-153 .elementor-element.elementor-element-b56f498{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;

  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, opacity;

  /* Solo entrada (1 vez) para no cansar al usuario */
  animation: vfxWrapIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Imagen */
.elementor-153 .elementor-element.elementor-element-b56f498 img{
  display: block;
  width: 100%;
  height: auto;

  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, filter;

  transition:
    transform .22s cubic-bezier(.22,.8,.26,1),
    filter .22s ease,
    box-shadow .22s ease;

  filter: contrast(1.02) saturate(1.03);
}

/* Glow sutil (por defecto casi imperceptible) */
.elementor-153 .elementor-element.elementor-element-b56f498::after{
  content: "";
  position: absolute;
  inset: -10%;
  pointer-events: none;

  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.16), transparent 42%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.18), transparent 48%);

  mix-blend-mode: screen;
  opacity: .18;
  transform: translate3d(0,0,0);
  transition: opacity .22s ease, transform .22s ease;
}

/* Shine (apagado por defecto: solo aparece en interacción) */
.elementor-153 .elementor-element.elementor-element-b56f498::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -36%;
  width: 34%;
  height: 360%;
  pointer-events: none;

  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.08) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.08) 66%,
    rgba(255,255,255,0) 100%
  );

  transform: translateX(-170%) skewX(-18deg);
  opacity: 0; /* clave UX: no molesta hasta interactuar */
}

/* =========================
   Desktop: hover elegante
========================= */
@media (hover:hover) and (pointer:fine){
  .elementor-153 .elementor-element.elementor-element-b56f498:hover img{
    transform: translate3d(0,-4px,0) scale(1.03);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
    box-shadow: 0 12px 26px rgba(0,0,0,.18);
  }

  .elementor-153 .elementor-element.elementor-element-b56f498:hover::after{
    opacity: .45;
    transform: scale(1.01);
  }

  .elementor-153 .elementor-element.elementor-element-b56f498:hover::before{
    opacity: .9;
    animation: vfxShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* =========================
   Móvil/Touch: feedback al toque
   (sin animación constante para no cansar)
========================= */
@media (hover:none), (pointer:coarse){
  .elementor-153 .elementor-element.elementor-element-b56f498{
    border-radius: 14px;
  }

  /* Toque: micro “press” premium */
  .elementor-153 .elementor-element.elementor-element-b56f498:active img{
    transform: translate3d(0,-2px,0) scale(1.02);
    filter: contrast(1.04) saturate(1.05);
    box-shadow: 0 10px 22px rgba(0,0,0,.16);
  }

  .elementor-153 .elementor-element.elementor-element-b56f498:active::after{
    opacity: .42;
  }

  .elementor-153 .elementor-element.elementor-element-b56f498:active::before{
    opacity: .85;
    animation: vfxShine .9s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* Móvil pequeño: aún más liviano */
@media (max-width: 767px){
  .elementor-153 .elementor-element.elementor-element-b56f498::after{ opacity: .14; }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-b56f498,
  .elementor-153 .elementor-element.elementor-element-b56f498 img,
  .elementor-153 .elementor-element.elementor-element-b56f498::before,
  .elementor-153 .elementor-element.elementor-element-b56f498::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* ===== Keyframes ===== */
@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}

@keyframes vfxShine{
  0%   { transform: translateX(-170%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-281178c *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-153 .elementor-element.elementor-element-281178c .elementor-button{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(226, 25, 96, 1);
  background: linear-gradient(135deg, #FFFFFF8C 0%, #F21515 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(226, 25, 96, 1);
  animation: s1_btn_pulse 2.4s infinite;
}

/* Shine */
.elementor-153 .elementor-element.elementor-element-281178c .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-153 .elementor-element.elementor-element-281178c .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-153 .elementor-element.elementor-element-281178c .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-153 .elementor-element.elementor-element-281178c .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-153 .elementor-element.elementor-element-281178c .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-153 .elementor-element.elementor-element-281178c .elementor-button:focus-visible{
  outline: 2px solid rgba(226, 25, 96, 1);
  outline-offset: 2px;
}

@keyframes s1_btn_pulse{
  0%   { transform: scale(.97); box-shadow: 0 0 0 0 rgba(172, 0, 0, 1); }
  70%  { transform: scale(1);   box-shadow: 0 0 0 14px rgba(172, 0, 0, 1); }
  100% { transform: scale(.97); box-shadow: 0 0 0 0 rgba(172, 0, 0, 1); }
}
@keyframes s1_btn_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-281178c .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */






/* Start custom CSS for image, class: .elementor-element-8b6932a *//* ==========================================
   IMAGE FX UNIVERSAL — UX OPTIMIZADO
   (pegar en cada imagen) | Elementor Custom CSS (.elementor-153 .elementor-element.elementor-element-8b6932a)
   Enfoque: Premium + cómodo + fluido en móvil
========================================== */

.elementor-153 .elementor-element.elementor-element-8b6932a{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;

  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, opacity;

  /* Solo entrada (1 vez) para no cansar al usuario */
  animation: vfxWrapIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Imagen */
.elementor-153 .elementor-element.elementor-element-8b6932a img{
  display: block;
  width: 100%;
  height: auto;

  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, filter;

  transition:
    transform .22s cubic-bezier(.22,.8,.26,1),
    filter .22s ease,
    box-shadow .22s ease;

  filter: contrast(1.02) saturate(1.03);
}

/* Glow sutil (por defecto casi imperceptible) */
.elementor-153 .elementor-element.elementor-element-8b6932a::after{
  content: "";
  position: absolute;
  inset: -10%;
  pointer-events: none;

  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.16), transparent 42%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.18), transparent 48%);

  mix-blend-mode: screen;
  opacity: .18;
  transform: translate3d(0,0,0);
  transition: opacity .22s ease, transform .22s ease;
}

/* Shine (apagado por defecto: solo aparece en interacción) */
.elementor-153 .elementor-element.elementor-element-8b6932a::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -36%;
  width: 34%;
  height: 360%;
  pointer-events: none;

  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.08) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.08) 66%,
    rgba(255,255,255,0) 100%
  );

  transform: translateX(-170%) skewX(-18deg);
  opacity: 0; /* clave UX: no molesta hasta interactuar */
}

/* =========================
   Desktop: hover elegante
========================= */
@media (hover:hover) and (pointer:fine){
  .elementor-153 .elementor-element.elementor-element-8b6932a:hover img{
    transform: translate3d(0,-4px,0) scale(1.03);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
    box-shadow: 0 12px 26px rgba(0,0,0,.18);
  }

  .elementor-153 .elementor-element.elementor-element-8b6932a:hover::after{
    opacity: .45;
    transform: scale(1.01);
  }

  .elementor-153 .elementor-element.elementor-element-8b6932a:hover::before{
    opacity: .9;
    animation: vfxShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* =========================
   Móvil/Touch: feedback al toque
   (sin animación constante para no cansar)
========================= */
@media (hover:none), (pointer:coarse){
  .elementor-153 .elementor-element.elementor-element-8b6932a{
    border-radius: 14px;
  }

  /* Toque: micro “press” premium */
  .elementor-153 .elementor-element.elementor-element-8b6932a:active img{
    transform: translate3d(0,-2px,0) scale(1.02);
    filter: contrast(1.04) saturate(1.05);
    box-shadow: 0 10px 22px rgba(0,0,0,.16);
  }

  .elementor-153 .elementor-element.elementor-element-8b6932a:active::after{
    opacity: .42;
  }

  .elementor-153 .elementor-element.elementor-element-8b6932a:active::before{
    opacity: .85;
    animation: vfxShine .9s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* Móvil pequeño: aún más liviano */
@media (max-width: 767px){
  .elementor-153 .elementor-element.elementor-element-8b6932a::after{ opacity: .14; }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-8b6932a,
  .elementor-153 .elementor-element.elementor-element-8b6932a img,
  .elementor-153 .elementor-element.elementor-element-8b6932a::before,
  .elementor-153 .elementor-element.elementor-element-8b6932a::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* ===== Keyframes ===== */
@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}

@keyframes vfxShine{
  0%   { transform: translateX(-170%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */





/* Start custom CSS for button, class: .elementor-element-a07a63b *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-153 .elementor-element.elementor-element-a07a63b .elementor-button{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(226, 25, 96, 1);
  background: linear-gradient(135deg, #FFFFFF8C 0%, #F21515 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(226, 25, 96, 1);
  animation: s1_btn_pulse 2.4s infinite;
}

/* Shine */
.elementor-153 .elementor-element.elementor-element-a07a63b .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-153 .elementor-element.elementor-element-a07a63b .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-153 .elementor-element.elementor-element-a07a63b .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-153 .elementor-element.elementor-element-a07a63b .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-153 .elementor-element.elementor-element-a07a63b .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-153 .elementor-element.elementor-element-a07a63b .elementor-button:focus-visible{
  outline: 2px solid rgba(226, 25, 96, 1);
  outline-offset: 2px;
}

@keyframes s1_btn_pulse{
  0%   { transform: scale(.97); box-shadow: 0 0 0 0 rgba(172, 0, 0, 1); }
  70%  { transform: scale(1);   box-shadow: 0 0 0 14px rgba(172, 0, 0, 1); }
  100% { transform: scale(.97); box-shadow: 0 0 0 0 rgba(172, 0, 0, 1); }
}
@keyframes s1_btn_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-a07a63b .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-10c8cf21 *//* ==========================================
   IMAGE FX UNIVERSAL — UX OPTIMIZADO
   (pegar en cada imagen) | Elementor Custom CSS (.elementor-153 .elementor-element.elementor-element-10c8cf21)
   Enfoque: Premium + cómodo + fluido en móvil
========================================== */

.elementor-153 .elementor-element.elementor-element-10c8cf21{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;

  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, opacity;

  /* Solo entrada (1 vez) para no cansar al usuario */
  animation: vfxWrapIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Imagen */
.elementor-153 .elementor-element.elementor-element-10c8cf21 img{
  display: block;
  width: 100%;
  height: auto;

  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, filter;

  transition:
    transform .22s cubic-bezier(.22,.8,.26,1),
    filter .22s ease,
    box-shadow .22s ease;

  filter: contrast(1.02) saturate(1.03);
}

/* Glow sutil (por defecto casi imperceptible) */
.elementor-153 .elementor-element.elementor-element-10c8cf21::after{
  content: "";
  position: absolute;
  inset: -10%;
  pointer-events: none;

  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.16), transparent 42%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.18), transparent 48%);

  mix-blend-mode: screen;
  opacity: .18;
  transform: translate3d(0,0,0);
  transition: opacity .22s ease, transform .22s ease;
}

/* Shine (apagado por defecto: solo aparece en interacción) */
.elementor-153 .elementor-element.elementor-element-10c8cf21::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -36%;
  width: 34%;
  height: 360%;
  pointer-events: none;

  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.08) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.08) 66%,
    rgba(255,255,255,0) 100%
  );

  transform: translateX(-170%) skewX(-18deg);
  opacity: 0; /* clave UX: no molesta hasta interactuar */
}

/* =========================
   Desktop: hover elegante
========================= */
@media (hover:hover) and (pointer:fine){
  .elementor-153 .elementor-element.elementor-element-10c8cf21:hover img{
    transform: translate3d(0,-4px,0) scale(1.03);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
    box-shadow: 0 12px 26px rgba(0,0,0,.18);
  }

  .elementor-153 .elementor-element.elementor-element-10c8cf21:hover::after{
    opacity: .45;
    transform: scale(1.01);
  }

  .elementor-153 .elementor-element.elementor-element-10c8cf21:hover::before{
    opacity: .9;
    animation: vfxShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* =========================
   Móvil/Touch: feedback al toque
   (sin animación constante para no cansar)
========================= */
@media (hover:none), (pointer:coarse){
  .elementor-153 .elementor-element.elementor-element-10c8cf21{
    border-radius: 14px;
  }

  /* Toque: micro “press” premium */
  .elementor-153 .elementor-element.elementor-element-10c8cf21:active img{
    transform: translate3d(0,-2px,0) scale(1.02);
    filter: contrast(1.04) saturate(1.05);
    box-shadow: 0 10px 22px rgba(0,0,0,.16);
  }

  .elementor-153 .elementor-element.elementor-element-10c8cf21:active::after{
    opacity: .42;
  }

  .elementor-153 .elementor-element.elementor-element-10c8cf21:active::before{
    opacity: .85;
    animation: vfxShine .9s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* Móvil pequeño: aún más liviano */
@media (max-width: 767px){
  .elementor-153 .elementor-element.elementor-element-10c8cf21::after{ opacity: .14; }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-10c8cf21,
  .elementor-153 .elementor-element.elementor-element-10c8cf21 img,
  .elementor-153 .elementor-element.elementor-element-10c8cf21::before,
  .elementor-153 .elementor-element.elementor-element-10c8cf21::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* ===== Keyframes ===== */
@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}

@keyframes vfxShine{
  0%   { transform: translateX(-170%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-1d97011 *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-153 .elementor-element.elementor-element-1d97011 .elementor-button{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(226, 25, 96, 1);
  background: linear-gradient(135deg, #FFFFFF8C 0%, #F21515 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(226, 25, 96, 1);
  animation: s1_btn_pulse 2.4s infinite;
}

/* Shine */
.elementor-153 .elementor-element.elementor-element-1d97011 .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-153 .elementor-element.elementor-element-1d97011 .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-153 .elementor-element.elementor-element-1d97011 .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-153 .elementor-element.elementor-element-1d97011 .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-153 .elementor-element.elementor-element-1d97011 .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-153 .elementor-element.elementor-element-1d97011 .elementor-button:focus-visible{
  outline: 2px solid rgba(226, 25, 96, 1);
  outline-offset: 2px;
}

@keyframes s1_btn_pulse{
  0%   { transform: scale(.97); box-shadow: 0 0 0 0 rgba(172, 0, 0, 1); }
  70%  { transform: scale(1);   box-shadow: 0 0 0 14px rgba(172, 0, 0, 1); }
  100% { transform: scale(.97); box-shadow: 0 0 0 0 rgba(172, 0, 0, 1); }
}
@keyframes s1_btn_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-1d97011 .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-74830342 *//* ==========================================
   IMAGE FX UNIVERSAL — UX OPTIMIZADO
   (pegar en cada imagen) | Elementor Custom CSS (.elementor-153 .elementor-element.elementor-element-74830342)
   Enfoque: Premium + cómodo + fluido en móvil
========================================== */

.elementor-153 .elementor-element.elementor-element-74830342{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;

  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, opacity;

  /* Solo entrada (1 vez) para no cansar al usuario */
  animation: vfxWrapIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Imagen */
.elementor-153 .elementor-element.elementor-element-74830342 img{
  display: block;
  width: 100%;
  height: auto;

  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, filter;

  transition:
    transform .22s cubic-bezier(.22,.8,.26,1),
    filter .22s ease,
    box-shadow .22s ease;

  filter: contrast(1.02) saturate(1.03);
}

/* Glow sutil (por defecto casi imperceptible) */
.elementor-153 .elementor-element.elementor-element-74830342::after{
  content: "";
  position: absolute;
  inset: -10%;
  pointer-events: none;

  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.16), transparent 42%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.18), transparent 48%);

  mix-blend-mode: screen;
  opacity: .18;
  transform: translate3d(0,0,0);
  transition: opacity .22s ease, transform .22s ease;
}

/* Shine (apagado por defecto: solo aparece en interacción) */
.elementor-153 .elementor-element.elementor-element-74830342::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -36%;
  width: 34%;
  height: 360%;
  pointer-events: none;

  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.08) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.08) 66%,
    rgba(255,255,255,0) 100%
  );

  transform: translateX(-170%) skewX(-18deg);
  opacity: 0; /* clave UX: no molesta hasta interactuar */
}

/* =========================
   Desktop: hover elegante
========================= */
@media (hover:hover) and (pointer:fine){
  .elementor-153 .elementor-element.elementor-element-74830342:hover img{
    transform: translate3d(0,-4px,0) scale(1.03);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
    box-shadow: 0 12px 26px rgba(0,0,0,.18);
  }

  .elementor-153 .elementor-element.elementor-element-74830342:hover::after{
    opacity: .45;
    transform: scale(1.01);
  }

  .elementor-153 .elementor-element.elementor-element-74830342:hover::before{
    opacity: .9;
    animation: vfxShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* =========================
   Móvil/Touch: feedback al toque
   (sin animación constante para no cansar)
========================= */
@media (hover:none), (pointer:coarse){
  .elementor-153 .elementor-element.elementor-element-74830342{
    border-radius: 14px;
  }

  /* Toque: micro “press” premium */
  .elementor-153 .elementor-element.elementor-element-74830342:active img{
    transform: translate3d(0,-2px,0) scale(1.02);
    filter: contrast(1.04) saturate(1.05);
    box-shadow: 0 10px 22px rgba(0,0,0,.16);
  }

  .elementor-153 .elementor-element.elementor-element-74830342:active::after{
    opacity: .42;
  }

  .elementor-153 .elementor-element.elementor-element-74830342:active::before{
    opacity: .85;
    animation: vfxShine .9s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* Móvil pequeño: aún más liviano */
@media (max-width: 767px){
  .elementor-153 .elementor-element.elementor-element-74830342::after{ opacity: .14; }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-74830342,
  .elementor-153 .elementor-element.elementor-element-74830342 img,
  .elementor-153 .elementor-element.elementor-element-74830342::before,
  .elementor-153 .elementor-element.elementor-element-74830342::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* ===== Keyframes ===== */
@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}

@keyframes vfxShine{
  0%   { transform: translateX(-170%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-5fa1d5b *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-153 .elementor-element.elementor-element-5fa1d5b .elementor-button{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(226, 25, 96, 1);
  background: linear-gradient(135deg, #FFFFFF8C 0%, #F21515 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(226, 25, 96, 1);
  animation: s1_btn_pulse 2.4s infinite;
}

/* Shine */
.elementor-153 .elementor-element.elementor-element-5fa1d5b .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-153 .elementor-element.elementor-element-5fa1d5b .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-153 .elementor-element.elementor-element-5fa1d5b .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-153 .elementor-element.elementor-element-5fa1d5b .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-153 .elementor-element.elementor-element-5fa1d5b .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-153 .elementor-element.elementor-element-5fa1d5b .elementor-button:focus-visible{
  outline: 2px solid rgba(226, 25, 96, 1);
  outline-offset: 2px;
}

@keyframes s1_btn_pulse{
  0%   { transform: scale(.97); box-shadow: 0 0 0 0 rgba(172, 0, 0, 1); }
  70%  { transform: scale(1);   box-shadow: 0 0 0 14px rgba(172, 0, 0, 1); }
  100% { transform: scale(.97); box-shadow: 0 0 0 0 rgba(172, 0, 0, 1); }
}
@keyframes s1_btn_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-5fa1d5b .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-2f7ea0b1 *//* ==========================================
   IMAGE FX UNIVERSAL — UX OPTIMIZADO
   (pegar en cada imagen) | Elementor Custom CSS (.elementor-153 .elementor-element.elementor-element-2f7ea0b1)
   Enfoque: Premium + cómodo + fluido en móvil
========================================== */

.elementor-153 .elementor-element.elementor-element-2f7ea0b1{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;

  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, opacity;

  /* Solo entrada (1 vez) para no cansar al usuario */
  animation: vfxWrapIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Imagen */
.elementor-153 .elementor-element.elementor-element-2f7ea0b1 img{
  display: block;
  width: 100%;
  height: auto;

  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, filter;

  transition:
    transform .22s cubic-bezier(.22,.8,.26,1),
    filter .22s ease,
    box-shadow .22s ease;

  filter: contrast(1.02) saturate(1.03);
}

/* Glow sutil (por defecto casi imperceptible) */
.elementor-153 .elementor-element.elementor-element-2f7ea0b1::after{
  content: "";
  position: absolute;
  inset: -10%;
  pointer-events: none;

  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.16), transparent 42%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.18), transparent 48%);

  mix-blend-mode: screen;
  opacity: .18;
  transform: translate3d(0,0,0);
  transition: opacity .22s ease, transform .22s ease;
}

/* Shine (apagado por defecto: solo aparece en interacción) */
.elementor-153 .elementor-element.elementor-element-2f7ea0b1::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -36%;
  width: 34%;
  height: 360%;
  pointer-events: none;

  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.08) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.08) 66%,
    rgba(255,255,255,0) 100%
  );

  transform: translateX(-170%) skewX(-18deg);
  opacity: 0; /* clave UX: no molesta hasta interactuar */
}

/* =========================
   Desktop: hover elegante
========================= */
@media (hover:hover) and (pointer:fine){
  .elementor-153 .elementor-element.elementor-element-2f7ea0b1:hover img{
    transform: translate3d(0,-4px,0) scale(1.03);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
    box-shadow: 0 12px 26px rgba(0,0,0,.18);
  }

  .elementor-153 .elementor-element.elementor-element-2f7ea0b1:hover::after{
    opacity: .45;
    transform: scale(1.01);
  }

  .elementor-153 .elementor-element.elementor-element-2f7ea0b1:hover::before{
    opacity: .9;
    animation: vfxShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* =========================
   Móvil/Touch: feedback al toque
   (sin animación constante para no cansar)
========================= */
@media (hover:none), (pointer:coarse){
  .elementor-153 .elementor-element.elementor-element-2f7ea0b1{
    border-radius: 14px;
  }

  /* Toque: micro “press” premium */
  .elementor-153 .elementor-element.elementor-element-2f7ea0b1:active img{
    transform: translate3d(0,-2px,0) scale(1.02);
    filter: contrast(1.04) saturate(1.05);
    box-shadow: 0 10px 22px rgba(0,0,0,.16);
  }

  .elementor-153 .elementor-element.elementor-element-2f7ea0b1:active::after{
    opacity: .42;
  }

  .elementor-153 .elementor-element.elementor-element-2f7ea0b1:active::before{
    opacity: .85;
    animation: vfxShine .9s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* Móvil pequeño: aún más liviano */
@media (max-width: 767px){
  .elementor-153 .elementor-element.elementor-element-2f7ea0b1::after{ opacity: .14; }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-2f7ea0b1,
  .elementor-153 .elementor-element.elementor-element-2f7ea0b1 img,
  .elementor-153 .elementor-element.elementor-element-2f7ea0b1::before,
  .elementor-153 .elementor-element.elementor-element-2f7ea0b1::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* ===== Keyframes ===== */
@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}

@keyframes vfxShine{
  0%   { transform: translateX(-170%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-6ec43e9 *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-153 .elementor-element.elementor-element-6ec43e9 .elementor-button{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(226, 25, 96, 1);
  background: linear-gradient(135deg, #FFFFFF8C 0%, #F21515 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(226, 25, 96, 1);
  animation: s1_btn_pulse 2.4s infinite;
}

/* Shine */
.elementor-153 .elementor-element.elementor-element-6ec43e9 .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-153 .elementor-element.elementor-element-6ec43e9 .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-153 .elementor-element.elementor-element-6ec43e9 .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-153 .elementor-element.elementor-element-6ec43e9 .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-153 .elementor-element.elementor-element-6ec43e9 .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-153 .elementor-element.elementor-element-6ec43e9 .elementor-button:focus-visible{
  outline: 2px solid rgba(226, 25, 96, 1);
  outline-offset: 2px;
}

@keyframes s1_btn_pulse{
  0%   { transform: scale(.97); box-shadow: 0 0 0 0 rgba(172, 0, 0, 1); }
  70%  { transform: scale(1);   box-shadow: 0 0 0 14px rgba(172, 0, 0, 1); }
  100% { transform: scale(.97); box-shadow: 0 0 0 0 rgba(172, 0, 0, 1); }
}
@keyframes s1_btn_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-6ec43e9 .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */




/* Start custom CSS for image, class: .elementor-element-383e90bb *//* ==========================================
   IMAGE FX UNIVERSAL — UX OPTIMIZADO
   (pegar en cada imagen) | Elementor Custom CSS (.elementor-153 .elementor-element.elementor-element-383e90bb)
   Enfoque: Premium + cómodo + fluido en móvil
========================================== */

.elementor-153 .elementor-element.elementor-element-383e90bb{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;

  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, opacity;

  /* Solo entrada (1 vez) para no cansar al usuario */
  animation: vfxWrapIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Imagen */
.elementor-153 .elementor-element.elementor-element-383e90bb img{
  display: block;
  width: 100%;
  height: auto;

  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, filter;

  transition:
    transform .22s cubic-bezier(.22,.8,.26,1),
    filter .22s ease,
    box-shadow .22s ease;

  filter: contrast(1.02) saturate(1.03);
}

/* Glow sutil (por defecto casi imperceptible) */
.elementor-153 .elementor-element.elementor-element-383e90bb::after{
  content: "";
  position: absolute;
  inset: -10%;
  pointer-events: none;

  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.16), transparent 42%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.18), transparent 48%);

  mix-blend-mode: screen;
  opacity: .18;
  transform: translate3d(0,0,0);
  transition: opacity .22s ease, transform .22s ease;
}

/* Shine (apagado por defecto: solo aparece en interacción) */
.elementor-153 .elementor-element.elementor-element-383e90bb::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -36%;
  width: 34%;
  height: 360%;
  pointer-events: none;

  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.08) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.08) 66%,
    rgba(255,255,255,0) 100%
  );

  transform: translateX(-170%) skewX(-18deg);
  opacity: 0; /* clave UX: no molesta hasta interactuar */
}

/* =========================
   Desktop: hover elegante
========================= */
@media (hover:hover) and (pointer:fine){
  .elementor-153 .elementor-element.elementor-element-383e90bb:hover img{
    transform: translate3d(0,-4px,0) scale(1.03);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
    box-shadow: 0 12px 26px rgba(0,0,0,.18);
  }

  .elementor-153 .elementor-element.elementor-element-383e90bb:hover::after{
    opacity: .45;
    transform: scale(1.01);
  }

  .elementor-153 .elementor-element.elementor-element-383e90bb:hover::before{
    opacity: .9;
    animation: vfxShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* =========================
   Móvil/Touch: feedback al toque
   (sin animación constante para no cansar)
========================= */
@media (hover:none), (pointer:coarse){
  .elementor-153 .elementor-element.elementor-element-383e90bb{
    border-radius: 14px;
  }

  /* Toque: micro “press” premium */
  .elementor-153 .elementor-element.elementor-element-383e90bb:active img{
    transform: translate3d(0,-2px,0) scale(1.02);
    filter: contrast(1.04) saturate(1.05);
    box-shadow: 0 10px 22px rgba(0,0,0,.16);
  }

  .elementor-153 .elementor-element.elementor-element-383e90bb:active::after{
    opacity: .42;
  }

  .elementor-153 .elementor-element.elementor-element-383e90bb:active::before{
    opacity: .85;
    animation: vfxShine .9s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* Móvil pequeño: aún más liviano */
@media (max-width: 767px){
  .elementor-153 .elementor-element.elementor-element-383e90bb::after{ opacity: .14; }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-383e90bb,
  .elementor-153 .elementor-element.elementor-element-383e90bb img,
  .elementor-153 .elementor-element.elementor-element-383e90bb::before,
  .elementor-153 .elementor-element.elementor-element-383e90bb::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* ===== Keyframes ===== */
@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}

@keyframes vfxShine{
  0%   { transform: translateX(-170%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */




/* Start custom CSS for image, class: .elementor-element-4f4a7846 *//* ==========================================
   IMAGE FX UNIVERSAL — UX OPTIMIZADO
   (pegar en cada imagen) | Elementor Custom CSS (.elementor-153 .elementor-element.elementor-element-4f4a7846)
   Enfoque: Premium + cómodo + fluido en móvil
========================================== */

.elementor-153 .elementor-element.elementor-element-4f4a7846{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;

  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, opacity;

  /* Solo entrada (1 vez) para no cansar al usuario */
  animation: vfxWrapIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Imagen */
.elementor-153 .elementor-element.elementor-element-4f4a7846 img{
  display: block;
  width: 100%;
  height: auto;

  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, filter;

  transition:
    transform .22s cubic-bezier(.22,.8,.26,1),
    filter .22s ease,
    box-shadow .22s ease;

  filter: contrast(1.02) saturate(1.03);
}

/* Glow sutil (por defecto casi imperceptible) */
.elementor-153 .elementor-element.elementor-element-4f4a7846::after{
  content: "";
  position: absolute;
  inset: -10%;
  pointer-events: none;

  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.16), transparent 42%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.18), transparent 48%);

  mix-blend-mode: screen;
  opacity: .18;
  transform: translate3d(0,0,0);
  transition: opacity .22s ease, transform .22s ease;
}

/* Shine (apagado por defecto: solo aparece en interacción) */
.elementor-153 .elementor-element.elementor-element-4f4a7846::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -36%;
  width: 34%;
  height: 360%;
  pointer-events: none;

  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.08) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.08) 66%,
    rgba(255,255,255,0) 100%
  );

  transform: translateX(-170%) skewX(-18deg);
  opacity: 0; /* clave UX: no molesta hasta interactuar */
}

/* =========================
   Desktop: hover elegante
========================= */
@media (hover:hover) and (pointer:fine){
  .elementor-153 .elementor-element.elementor-element-4f4a7846:hover img{
    transform: translate3d(0,-4px,0) scale(1.03);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
    box-shadow: 0 12px 26px rgba(0,0,0,.18);
  }

  .elementor-153 .elementor-element.elementor-element-4f4a7846:hover::after{
    opacity: .45;
    transform: scale(1.01);
  }

  .elementor-153 .elementor-element.elementor-element-4f4a7846:hover::before{
    opacity: .9;
    animation: vfxShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* =========================
   Móvil/Touch: feedback al toque
   (sin animación constante para no cansar)
========================= */
@media (hover:none), (pointer:coarse){
  .elementor-153 .elementor-element.elementor-element-4f4a7846{
    border-radius: 14px;
  }

  /* Toque: micro “press” premium */
  .elementor-153 .elementor-element.elementor-element-4f4a7846:active img{
    transform: translate3d(0,-2px,0) scale(1.02);
    filter: contrast(1.04) saturate(1.05);
    box-shadow: 0 10px 22px rgba(0,0,0,.16);
  }

  .elementor-153 .elementor-element.elementor-element-4f4a7846:active::after{
    opacity: .42;
  }

  .elementor-153 .elementor-element.elementor-element-4f4a7846:active::before{
    opacity: .85;
    animation: vfxShine .9s cubic-bezier(.22,.8,.26,1) forwards;
  }
}

/* Móvil pequeño: aún más liviano */
@media (max-width: 767px){
  .elementor-153 .elementor-element.elementor-element-4f4a7846::after{ opacity: .14; }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-153 .elementor-element.elementor-element-4f4a7846,
  .elementor-153 .elementor-element.elementor-element-4f4a7846 img,
  .elementor-153 .elementor-element.elementor-element-4f4a7846::before,
  .elementor-153 .elementor-element.elementor-element-4f4a7846::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* ===== Keyframes ===== */
@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}

@keyframes vfxShine{
  0%   { transform: translateX(-170%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */





