.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-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-11 .elementor-element.elementor-element-575b835c{background-color:transparent;top:0px;background-image:linear-gradient(180deg, #E6CACA6B 0%, #ED6E8E5E 100%);}body:not(.rtl) .elementor-11 .elementor-element.elementor-element-575b835c{right:0px;}body.rtl .elementor-11 .elementor-element.elementor-element-575b835c{left:0px;}.elementor-11 .elementor-element.elementor-element-575b835c .elementor-heading-title{font-family:"Hedvig Letters Serif", Sans-serif;font-weight:500;color:#E85D8F;}.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-11 .elementor-element.elementor-element-469b87d9 .elementor-button{background-color:#BE3163;}.elementor-11 .elementor-element.elementor-element-469b87d9 .elementor-button-content-wrapper{flex-direction:row;}.elementor-11 .elementor-element.elementor-element-6dd3f5a5 .elementor-button{background-color:#BE3163;}.elementor-11 .elementor-element.elementor-element-6dd3f5a5 .elementor-button-content-wrapper{flex-direction:row;}.elementor-11 .elementor-element.elementor-element-125b4bb7 .elementor-button{background-color:#BE3163;}.elementor-11 .elementor-element.elementor-element-125b4bb7 .elementor-button-content-wrapper{flex-direction:row;}.elementor-11 .elementor-element.elementor-element-15410061 .elementor-button{background-color:#BE3163;}.elementor-11 .elementor-element.elementor-element-15410061 .elementor-button-content-wrapper{flex-direction:row;}.elementor-11 .elementor-element.elementor-element-4426f6fd .elementor-button{background-color:#BE3163;}.elementor-11 .elementor-element.elementor-element-4426f6fd .elementor-button-content-wrapper{flex-direction:row;}.elementor-11 .elementor-element.elementor-element-365a098e .elementor-button{background-color:#BE3163;}.elementor-11 .elementor-element.elementor-element-365a098e .elementor-button-content-wrapper{flex-direction:row;}.elementor-11 .elementor-element.elementor-element-430228c .elementor-button{background-color:#BE3163;}.elementor-11 .elementor-element.elementor-element-430228c .elementor-button-content-wrapper{flex-direction:row;}.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-11 .elementor-element.elementor-element-5634d59{--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-11 .elementor-element.elementor-element-363ff84 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-weight:600;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-11 .elementor-element.elementor-element-354f023{color:#000000;}.elementor-11 .elementor-element.elementor-element-51d608f3{text-align:center;font-family:"Poppins", Sans-serif;font-weight:500;font-style:oblique;color:#000000;}body.elementor-page-11:not(.elementor-motion-effects-element-type-background), body.elementor-page-11 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://xn--enfermerazoe-zfb.com/wp-content/uploads/2026/03/bckgr_1_11zon-scaled-1.webp");}@media(max-width:767px){.elementor-11 .elementor-element.elementor-element-575b835c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;top:0px;z-index:30;border-radius:20px 20px 20px 20px;text-align:center;}body:not(.rtl) .elementor-11 .elementor-element.elementor-element-575b835c{right:0px;}body.rtl .elementor-11 .elementor-element.elementor-element-575b835c{left:0px;}.elementor-11 .elementor-element.elementor-element-575b835c .elementor-heading-title{font-size:32px;line-height:0.9em;word-spacing:0.6em;}.elementor-11 .elementor-element.elementor-element-3b4dfc3a{border-radius:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-3b4dfc3a img{border-radius:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-469b87d9 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-11 .elementor-element.elementor-element-7baa402{border-radius:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-7baa402 img{border-radius:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-6dd3f5a5 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-11 .elementor-element.elementor-element-2b5fffb{border-radius:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-2b5fffb img{border-radius:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-125b4bb7 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-11 .elementor-element.elementor-element-ed0fb47{border-radius:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-ed0fb47 img{border-radius:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-15410061 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-11 .elementor-element.elementor-element-2cfb7ea6{border-radius:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-2cfb7ea6 img{border-radius:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-4426f6fd .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-11 .elementor-element.elementor-element-327cb81c{border-radius:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-327cb81c img{border-radius:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-365a098e .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-11 .elementor-element.elementor-element-79064c3e{border-radius:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-79064c3e img{border-radius:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-430228c .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-11 .elementor-element.elementor-element-363ff84{text-align:center;}.elementor-11 .elementor-element.elementor-element-354f023{text-align:center;}.elementor-11 .elementor-element.elementor-element-51d608f3{margin:20px 20px calc(var(--kit-widget-spacing, 0px) + 20px) 20px;text-align:center;font-size:9px;}}/* Start custom CSS for heading, class: .elementor-element-575b835c *//* ==========================================
   BANNER FIJO + MARQUEE INFINITO
   Aplicar en: Sección/Contenedor -> Avanzado -> CSS Personalizado
========================================== */

/* 1. Contenedor Principal */
.elementor-11 .elementor-element.elementor-element-575b835c {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    overflow: hidden;
    white-space: nowrap;
    padding: 10px 0;
    pointer-events: none; /* Permite hacer clic a través del banner si es necesario */
}

/* 2. Elementos de Texto */
.elementor-11 .elementor-element.elementor-element-575b835c :is(.elementor-heading-title, .elementor-widget-container) {
    display: inline-block;
    padding-left: 100%; /* Empieza justo fuera de la pantalla */
    will-change: transform;
    animation: marqueeRL 30s linear infinite;
    pointer-events: auto; /* Reactiva clics en el texto */
}

/* 3. Animación Optimizada */
@keyframes marqueeRL {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

/* 4. Ajustes por Dispositivo (Sin !important innecesarios) */
@media (min-width: 768px) {
    .elementor-11 .elementor-element.elementor-element-575b835c :is(.elementor-heading-title, .elementor-widget-container) {
        animation-duration: 60s; 
    }
}

@media (max-width: 767px) {
    .elementor-11 .elementor-element.elementor-element-575b835c :is(.elementor-heading-title, .elementor-widget-container) {
        animation-duration: 60s;
    }
}

/* 5. Accesibilidad */
@media (prefers-reduced-motion: reduce) {
    .elementor-11 .elementor-element.elementor-element-575b835c :is(.elementor-heading-title, .elementor-widget-container) {
        animation: none;
        white-space: normal;
        text-align: center;
    }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-3b4dfc3a *//* =========================================================
   LUX SCROLL — OPTIMIZADO (ligero + fluido)
   - Transform + opacity (barato)
   - Glow/Shine sutil (sin filtros pesados)
   - Micro-float solo desktop
   - contain + content-visibility para mejor performance
========================================================= */

.elementor-11 .elementor-element.elementor-element-3b4dfc3a{
  position: relative;
  overflow: visible;
  isolation: isolate;

  transform: translateZ(0);
  will-change: transform;
  contain: layout paint style;           /* reduce costo de repaints */
  content-visibility: auto;             /* no renderiza fuera de viewport */
  contain-intrinsic-size: 1px 600px;    /* reserva espacio para evitar saltos */

  /* entrada suave (1 vez) */
  animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Micro-float SOLO desktop (más liviano en móvil) */
@media (hover:hover) and (pointer:fine){
  .elementor-11 .elementor-element.elementor-element-3b4dfc3a{ animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both, microFloat 2.6s ease-in-out .5s infinite; }
}

.elementor-11 .elementor-element.elementor-element-3b4dfc3a img{
  display:block;
  width:100%;
  height:auto;
  transform: translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change: transform, opacity;
}

/* Glow (barato): sin mix-blend-mode en móvil */
.elementor-11 .elementor-element.elementor-element-3b4dfc3a::after{
  content:"";
  position:absolute;
  inset:-12%;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.14), transparent 44%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.16), transparent 50%);
  transform: translateZ(0);
}

/* Shine diagonal */
.elementor-11 .elementor-element.elementor-element-3b4dfc3a::before{
  content:"";
  position:absolute;
  top:-150%;
  left:-36%;
  width:34%;
  height:380%;
  pointer-events:none;
  opacity:0;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.07) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.07) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-200%) skewX(-18deg);
}

/* ===== Scroll-driven (si el navegador soporta view-timeline) ===== */
@supports (animation-timeline: view()){
  .elementor-11 .elementor-element.elementor-element-3b4dfc3a img{
    animation: slideDynLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-11 .elementor-element.elementor-element-3b4dfc3a::after{
    animation: glowLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-11 .elementor-element.elementor-element-3b4dfc3a::before{
    animation: shineLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  /* ENTRA lento -> centro dinámico -> SALE rápido (sin filtros) */
  @keyframes slideDynLight{
    0%{
      opacity: 0;
      transform: translate3d(clamp(220px, 44vw, 680px), 0, 0) scale(.99);
    }
    52%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1);
    }
    58%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1.016); /* micro overshoot */
    }
    64%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1);
    }
    100%{
      opacity: 0;
      transform: translate3d(calc(-1 * clamp(220px, 44vw, 680px)), 0, 0) scale(.99);
    }
  }

  @keyframes glowLight{
    0%   { opacity: 0; }
    45%  { opacity: 0; }
    58%  { opacity: .48; }
    72%  { opacity: .20; }
    100% { opacity: 0; }
  }

  @keyframes shineLight{
    0%   { opacity: 0; transform: translateX(-200%) skewX(-18deg); }
    50%  { opacity: 0; transform: translateX(-200%) skewX(-18deg); }
    62%  { opacity: .9; transform: translateX(260%)  skewX(-18deg); }
    70%  { opacity: 0; transform: translateX(260%)  skewX(-18deg); }
    100% { opacity: 0; transform: translateX(260%)  skewX(-18deg); }
  }
}

/* ===== Fallback (sin view-timeline): hover/tap liviano ===== */
@supports not (animation-timeline: view()){
  .elementor-11 .elementor-element.elementor-element-3b4dfc3a img{
    transition: transform .22s ease, opacity .22s ease;
  }

  @media (hover:hover) and (pointer:fine){
    .elementor-11 .elementor-element.elementor-element-3b4dfc3a:hover img{
      transform: translate3d(0,-4px,0) scale(1.03);
    }
    .elementor-11 .elementor-element.elementor-element-3b4dfc3a:hover::after{ opacity: .38; }
    .elementor-11 .elementor-element.elementor-element-3b4dfc3a:hover::before{
      opacity: .75;
      animation: hoverShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @media (hover:none), (pointer:coarse){
    .elementor-11 .elementor-element.elementor-element-3b4dfc3a:active img{
      transform: translate3d(0,-2px,0) scale(1.02);
    }
    .elementor-11 .elementor-element.elementor-element-3b4dfc3a:active::after{ opacity: .32; }
    .elementor-11 .elementor-element.elementor-element-3b4dfc3a:active::before{
      opacity: .7;
      animation: hoverShine .9s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @keyframes hoverShine{
    0%   { transform: translateX(-200%) skewX(-18deg); }
    100% { transform: translateX(260%)  skewX(-18deg); }
  }
}

/* Mobile: distancia menor y sin cargas extras */
@media (max-width: 767px){
  .elementor-11 .elementor-element.elementor-element-3b4dfc3a{ contain-intrinsic-size: 1px 420px; }

  @supports (animation-timeline: view()){
    @keyframes slideDynLight{
      0%{
        opacity: 0;
        transform: translate3d(clamp(120px, 30vw, 320px), 0, 0) scale(.995);
      }
      52%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1);
      }
      58%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1.012);
      }
      64%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1);
      }
      100%{
        opacity: 0;
        transform: translate3d(calc(-1 * clamp(120px, 30vw, 320px)), 0, 0) scale(.995);
      }
    }
  }

  /* Glow sin blend-mode (más ligero en móvil) */
  .elementor-11 .elementor-element.elementor-element-3b4dfc3a::after{ opacity: 0; }
}

/* Keyframes */
@keyframes luxIn{
  from{ opacity: 0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}

@keyframes microFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-2px,0); }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-11 .elementor-element.elementor-element-3b4dfc3a,
  .elementor-11 .elementor-element.elementor-element-3b4dfc3a img,
  .elementor-11 .elementor-element.elementor-element-3b4dfc3a::before,
  .elementor-11 .elementor-element.elementor-element-3b4dfc3a::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */



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



/* Start custom CSS for image, class: .elementor-element-7baa402 *//* =========================================================
   LUX SCROLL — OPTIMIZADO (ligero + fluido)
   - Transform + opacity (barato)
   - Glow/Shine sutil (sin filtros pesados)
   - Micro-float solo desktop
   - contain + content-visibility para mejor performance
========================================================= */

.elementor-11 .elementor-element.elementor-element-7baa402{
  position: relative;
  overflow: visible;
  isolation: isolate;

  transform: translateZ(0);
  will-change: transform;
  contain: layout paint style;           /* reduce costo de repaints */
  content-visibility: auto;             /* no renderiza fuera de viewport */
  contain-intrinsic-size: 1px 600px;    /* reserva espacio para evitar saltos */

  /* entrada suave (1 vez) */
  animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Micro-float SOLO desktop (más liviano en móvil) */
@media (hover:hover) and (pointer:fine){
  .elementor-11 .elementor-element.elementor-element-7baa402{ animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both, microFloat 2.6s ease-in-out .5s infinite; }
}

.elementor-11 .elementor-element.elementor-element-7baa402 img{
  display:block;
  width:100%;
  height:auto;
  transform: translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change: transform, opacity;
}

/* Glow (barato): sin mix-blend-mode en móvil */
.elementor-11 .elementor-element.elementor-element-7baa402::after{
  content:"";
  position:absolute;
  inset:-12%;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.14), transparent 44%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.16), transparent 50%);
  transform: translateZ(0);
}

/* Shine diagonal */
.elementor-11 .elementor-element.elementor-element-7baa402::before{
  content:"";
  position:absolute;
  top:-150%;
  left:-36%;
  width:34%;
  height:380%;
  pointer-events:none;
  opacity:0;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.07) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.07) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-200%) skewX(-18deg);
}

/* ===== Scroll-driven (si el navegador soporta view-timeline) ===== */
@supports (animation-timeline: view()){
  .elementor-11 .elementor-element.elementor-element-7baa402 img{
    animation: slideDynLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-11 .elementor-element.elementor-element-7baa402::after{
    animation: glowLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-11 .elementor-element.elementor-element-7baa402::before{
    animation: shineLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  /* ENTRA lento -> centro dinámico -> SALE rápido (sin filtros) */
  @keyframes slideDynLight{
    0%{
      opacity: 0;
      transform: translate3d(clamp(220px, 44vw, 680px), 0, 0) scale(.99);
    }
    52%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1);
    }
    58%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1.016); /* micro overshoot */
    }
    64%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1);
    }
    100%{
      opacity: 0;
      transform: translate3d(calc(-1 * clamp(220px, 44vw, 680px)), 0, 0) scale(.99);
    }
  }

  @keyframes glowLight{
    0%   { opacity: 0; }
    45%  { opacity: 0; }
    58%  { opacity: .48; }
    72%  { opacity: .20; }
    100% { opacity: 0; }
  }

  @keyframes shineLight{
    0%   { opacity: 0; transform: translateX(-200%) skewX(-18deg); }
    50%  { opacity: 0; transform: translateX(-200%) skewX(-18deg); }
    62%  { opacity: .9; transform: translateX(260%)  skewX(-18deg); }
    70%  { opacity: 0; transform: translateX(260%)  skewX(-18deg); }
    100% { opacity: 0; transform: translateX(260%)  skewX(-18deg); }
  }
}

/* ===== Fallback (sin view-timeline): hover/tap liviano ===== */
@supports not (animation-timeline: view()){
  .elementor-11 .elementor-element.elementor-element-7baa402 img{
    transition: transform .22s ease, opacity .22s ease;
  }

  @media (hover:hover) and (pointer:fine){
    .elementor-11 .elementor-element.elementor-element-7baa402:hover img{
      transform: translate3d(0,-4px,0) scale(1.03);
    }
    .elementor-11 .elementor-element.elementor-element-7baa402:hover::after{ opacity: .38; }
    .elementor-11 .elementor-element.elementor-element-7baa402:hover::before{
      opacity: .75;
      animation: hoverShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @media (hover:none), (pointer:coarse){
    .elementor-11 .elementor-element.elementor-element-7baa402:active img{
      transform: translate3d(0,-2px,0) scale(1.02);
    }
    .elementor-11 .elementor-element.elementor-element-7baa402:active::after{ opacity: .32; }
    .elementor-11 .elementor-element.elementor-element-7baa402:active::before{
      opacity: .7;
      animation: hoverShine .9s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @keyframes hoverShine{
    0%   { transform: translateX(-200%) skewX(-18deg); }
    100% { transform: translateX(260%)  skewX(-18deg); }
  }
}

/* Mobile: distancia menor y sin cargas extras */
@media (max-width: 767px){
  .elementor-11 .elementor-element.elementor-element-7baa402{ contain-intrinsic-size: 1px 420px; }

  @supports (animation-timeline: view()){
    @keyframes slideDynLight{
      0%{
        opacity: 0;
        transform: translate3d(clamp(120px, 30vw, 320px), 0, 0) scale(.995);
      }
      52%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1);
      }
      58%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1.012);
      }
      64%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1);
      }
      100%{
        opacity: 0;
        transform: translate3d(calc(-1 * clamp(120px, 30vw, 320px)), 0, 0) scale(.995);
      }
    }
  }

  /* Glow sin blend-mode (más ligero en móvil) */
  .elementor-11 .elementor-element.elementor-element-7baa402::after{ opacity: 0; }
}

/* Keyframes */
@keyframes luxIn{
  from{ opacity: 0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}

@keyframes microFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-2px,0); }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-11 .elementor-element.elementor-element-7baa402,
  .elementor-11 .elementor-element.elementor-element-7baa402 img,
  .elementor-11 .elementor-element.elementor-element-7baa402::before,
  .elementor-11 .elementor-element.elementor-element-7baa402::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */



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



/* Start custom CSS for image, class: .elementor-element-2b5fffb *//* =========================================================
   LUX SCROLL — OPTIMIZADO (ligero + fluido)
   - Transform + opacity (barato)
   - Glow/Shine sutil (sin filtros pesados)
   - Micro-float solo desktop
   - contain + content-visibility para mejor performance
========================================================= */

.elementor-11 .elementor-element.elementor-element-2b5fffb{
  position: relative;
  overflow: visible;
  isolation: isolate;

  transform: translateZ(0);
  will-change: transform;
  contain: layout paint style;           /* reduce costo de repaints */
  content-visibility: auto;             /* no renderiza fuera de viewport */
  contain-intrinsic-size: 1px 600px;    /* reserva espacio para evitar saltos */

  /* entrada suave (1 vez) */
  animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Micro-float SOLO desktop (más liviano en móvil) */
@media (hover:hover) and (pointer:fine){
  .elementor-11 .elementor-element.elementor-element-2b5fffb{ animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both, microFloat 2.6s ease-in-out .5s infinite; }
}

.elementor-11 .elementor-element.elementor-element-2b5fffb img{
  display:block;
  width:100%;
  height:auto;
  transform: translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change: transform, opacity;
}

/* Glow (barato): sin mix-blend-mode en móvil */
.elementor-11 .elementor-element.elementor-element-2b5fffb::after{
  content:"";
  position:absolute;
  inset:-12%;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.14), transparent 44%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.16), transparent 50%);
  transform: translateZ(0);
}

/* Shine diagonal */
.elementor-11 .elementor-element.elementor-element-2b5fffb::before{
  content:"";
  position:absolute;
  top:-150%;
  left:-36%;
  width:34%;
  height:380%;
  pointer-events:none;
  opacity:0;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.07) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.07) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-200%) skewX(-18deg);
}

/* ===== Scroll-driven (si el navegador soporta view-timeline) ===== */
@supports (animation-timeline: view()){
  .elementor-11 .elementor-element.elementor-element-2b5fffb img{
    animation: slideDynLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-11 .elementor-element.elementor-element-2b5fffb::after{
    animation: glowLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-11 .elementor-element.elementor-element-2b5fffb::before{
    animation: shineLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  /* ENTRA lento -> centro dinámico -> SALE rápido (sin filtros) */
  @keyframes slideDynLight{
    0%{
      opacity: 0;
      transform: translate3d(clamp(220px, 44vw, 680px), 0, 0) scale(.99);
    }
    52%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1);
    }
    58%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1.016); /* micro overshoot */
    }
    64%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1);
    }
    100%{
      opacity: 0;
      transform: translate3d(calc(-1 * clamp(220px, 44vw, 680px)), 0, 0) scale(.99);
    }
  }

  @keyframes glowLight{
    0%   { opacity: 0; }
    45%  { opacity: 0; }
    58%  { opacity: .48; }
    72%  { opacity: .20; }
    100% { opacity: 0; }
  }

  @keyframes shineLight{
    0%   { opacity: 0; transform: translateX(-200%) skewX(-18deg); }
    50%  { opacity: 0; transform: translateX(-200%) skewX(-18deg); }
    62%  { opacity: .9; transform: translateX(260%)  skewX(-18deg); }
    70%  { opacity: 0; transform: translateX(260%)  skewX(-18deg); }
    100% { opacity: 0; transform: translateX(260%)  skewX(-18deg); }
  }
}

/* ===== Fallback (sin view-timeline): hover/tap liviano ===== */
@supports not (animation-timeline: view()){
  .elementor-11 .elementor-element.elementor-element-2b5fffb img{
    transition: transform .22s ease, opacity .22s ease;
  }

  @media (hover:hover) and (pointer:fine){
    .elementor-11 .elementor-element.elementor-element-2b5fffb:hover img{
      transform: translate3d(0,-4px,0) scale(1.03);
    }
    .elementor-11 .elementor-element.elementor-element-2b5fffb:hover::after{ opacity: .38; }
    .elementor-11 .elementor-element.elementor-element-2b5fffb:hover::before{
      opacity: .75;
      animation: hoverShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @media (hover:none), (pointer:coarse){
    .elementor-11 .elementor-element.elementor-element-2b5fffb:active img{
      transform: translate3d(0,-2px,0) scale(1.02);
    }
    .elementor-11 .elementor-element.elementor-element-2b5fffb:active::after{ opacity: .32; }
    .elementor-11 .elementor-element.elementor-element-2b5fffb:active::before{
      opacity: .7;
      animation: hoverShine .9s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @keyframes hoverShine{
    0%   { transform: translateX(-200%) skewX(-18deg); }
    100% { transform: translateX(260%)  skewX(-18deg); }
  }
}

/* Mobile: distancia menor y sin cargas extras */
@media (max-width: 767px){
  .elementor-11 .elementor-element.elementor-element-2b5fffb{ contain-intrinsic-size: 1px 420px; }

  @supports (animation-timeline: view()){
    @keyframes slideDynLight{
      0%{
        opacity: 0;
        transform: translate3d(clamp(120px, 30vw, 320px), 0, 0) scale(.995);
      }
      52%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1);
      }
      58%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1.012);
      }
      64%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1);
      }
      100%{
        opacity: 0;
        transform: translate3d(calc(-1 * clamp(120px, 30vw, 320px)), 0, 0) scale(.995);
      }
    }
  }

  /* Glow sin blend-mode (más ligero en móvil) */
  .elementor-11 .elementor-element.elementor-element-2b5fffb::after{ opacity: 0; }
}

/* Keyframes */
@keyframes luxIn{
  from{ opacity: 0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}

@keyframes microFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-2px,0); }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-11 .elementor-element.elementor-element-2b5fffb,
  .elementor-11 .elementor-element.elementor-element-2b5fffb img,
  .elementor-11 .elementor-element.elementor-element-2b5fffb::before,
  .elementor-11 .elementor-element.elementor-element-2b5fffb::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */



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



/* Start custom CSS for image, class: .elementor-element-ed0fb47 *//* =========================================================
   LUX SCROLL — OPTIMIZADO (ligero + fluido)
   - Transform + opacity (barato)
   - Glow/Shine sutil (sin filtros pesados)
   - Micro-float solo desktop
   - contain + content-visibility para mejor performance
========================================================= */

.elementor-11 .elementor-element.elementor-element-ed0fb47{
  position: relative;
  overflow: visible;
  isolation: isolate;

  transform: translateZ(0);
  will-change: transform;
  contain: layout paint style;           /* reduce costo de repaints */
  content-visibility: auto;             /* no renderiza fuera de viewport */
  contain-intrinsic-size: 1px 600px;    /* reserva espacio para evitar saltos */

  /* entrada suave (1 vez) */
  animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Micro-float SOLO desktop (más liviano en móvil) */
@media (hover:hover) and (pointer:fine){
  .elementor-11 .elementor-element.elementor-element-ed0fb47{ animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both, microFloat 2.6s ease-in-out .5s infinite; }
}

.elementor-11 .elementor-element.elementor-element-ed0fb47 img{
  display:block;
  width:100%;
  height:auto;
  transform: translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change: transform, opacity;
}

/* Glow (barato): sin mix-blend-mode en móvil */
.elementor-11 .elementor-element.elementor-element-ed0fb47::after{
  content:"";
  position:absolute;
  inset:-12%;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.14), transparent 44%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.16), transparent 50%);
  transform: translateZ(0);
}

/* Shine diagonal */
.elementor-11 .elementor-element.elementor-element-ed0fb47::before{
  content:"";
  position:absolute;
  top:-150%;
  left:-36%;
  width:34%;
  height:380%;
  pointer-events:none;
  opacity:0;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.07) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.07) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-200%) skewX(-18deg);
}

/* ===== Scroll-driven (si el navegador soporta view-timeline) ===== */
@supports (animation-timeline: view()){
  .elementor-11 .elementor-element.elementor-element-ed0fb47 img{
    animation: slideDynLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-11 .elementor-element.elementor-element-ed0fb47::after{
    animation: glowLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-11 .elementor-element.elementor-element-ed0fb47::before{
    animation: shineLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  /* ENTRA lento -> centro dinámico -> SALE rápido (sin filtros) */
  @keyframes slideDynLight{
    0%{
      opacity: 0;
      transform: translate3d(clamp(220px, 44vw, 680px), 0, 0) scale(.99);
    }
    52%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1);
    }
    58%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1.016); /* micro overshoot */
    }
    64%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1);
    }
    100%{
      opacity: 0;
      transform: translate3d(calc(-1 * clamp(220px, 44vw, 680px)), 0, 0) scale(.99);
    }
  }

  @keyframes glowLight{
    0%   { opacity: 0; }
    45%  { opacity: 0; }
    58%  { opacity: .48; }
    72%  { opacity: .20; }
    100% { opacity: 0; }
  }

  @keyframes shineLight{
    0%   { opacity: 0; transform: translateX(-200%) skewX(-18deg); }
    50%  { opacity: 0; transform: translateX(-200%) skewX(-18deg); }
    62%  { opacity: .9; transform: translateX(260%)  skewX(-18deg); }
    70%  { opacity: 0; transform: translateX(260%)  skewX(-18deg); }
    100% { opacity: 0; transform: translateX(260%)  skewX(-18deg); }
  }
}

/* ===== Fallback (sin view-timeline): hover/tap liviano ===== */
@supports not (animation-timeline: view()){
  .elementor-11 .elementor-element.elementor-element-ed0fb47 img{
    transition: transform .22s ease, opacity .22s ease;
  }

  @media (hover:hover) and (pointer:fine){
    .elementor-11 .elementor-element.elementor-element-ed0fb47:hover img{
      transform: translate3d(0,-4px,0) scale(1.03);
    }
    .elementor-11 .elementor-element.elementor-element-ed0fb47:hover::after{ opacity: .38; }
    .elementor-11 .elementor-element.elementor-element-ed0fb47:hover::before{
      opacity: .75;
      animation: hoverShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @media (hover:none), (pointer:coarse){
    .elementor-11 .elementor-element.elementor-element-ed0fb47:active img{
      transform: translate3d(0,-2px,0) scale(1.02);
    }
    .elementor-11 .elementor-element.elementor-element-ed0fb47:active::after{ opacity: .32; }
    .elementor-11 .elementor-element.elementor-element-ed0fb47:active::before{
      opacity: .7;
      animation: hoverShine .9s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @keyframes hoverShine{
    0%   { transform: translateX(-200%) skewX(-18deg); }
    100% { transform: translateX(260%)  skewX(-18deg); }
  }
}

/* Mobile: distancia menor y sin cargas extras */
@media (max-width: 767px){
  .elementor-11 .elementor-element.elementor-element-ed0fb47{ contain-intrinsic-size: 1px 420px; }

  @supports (animation-timeline: view()){
    @keyframes slideDynLight{
      0%{
        opacity: 0;
        transform: translate3d(clamp(120px, 30vw, 320px), 0, 0) scale(.995);
      }
      52%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1);
      }
      58%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1.012);
      }
      64%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1);
      }
      100%{
        opacity: 0;
        transform: translate3d(calc(-1 * clamp(120px, 30vw, 320px)), 0, 0) scale(.995);
      }
    }
  }

  /* Glow sin blend-mode (más ligero en móvil) */
  .elementor-11 .elementor-element.elementor-element-ed0fb47::after{ opacity: 0; }
}

/* Keyframes */
@keyframes luxIn{
  from{ opacity: 0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}

@keyframes microFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-2px,0); }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-11 .elementor-element.elementor-element-ed0fb47,
  .elementor-11 .elementor-element.elementor-element-ed0fb47 img,
  .elementor-11 .elementor-element.elementor-element-ed0fb47::before,
  .elementor-11 .elementor-element.elementor-element-ed0fb47::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */



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



/* Start custom CSS for image, class: .elementor-element-2cfb7ea6 *//* =========================================================
   LUX SCROLL — OPTIMIZADO (ligero + fluido)
   - Transform + opacity (barato)
   - Glow/Shine sutil (sin filtros pesados)
   - Micro-float solo desktop
   - contain + content-visibility para mejor performance
========================================================= */

.elementor-11 .elementor-element.elementor-element-2cfb7ea6{
  position: relative;
  overflow: visible;
  isolation: isolate;

  transform: translateZ(0);
  will-change: transform;
  contain: layout paint style;           /* reduce costo de repaints */
  content-visibility: auto;             /* no renderiza fuera de viewport */
  contain-intrinsic-size: 1px 600px;    /* reserva espacio para evitar saltos */

  /* entrada suave (1 vez) */
  animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Micro-float SOLO desktop (más liviano en móvil) */
@media (hover:hover) and (pointer:fine){
  .elementor-11 .elementor-element.elementor-element-2cfb7ea6{ animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both, microFloat 2.6s ease-in-out .5s infinite; }
}

.elementor-11 .elementor-element.elementor-element-2cfb7ea6 img{
  display:block;
  width:100%;
  height:auto;
  transform: translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change: transform, opacity;
}

/* Glow (barato): sin mix-blend-mode en móvil */
.elementor-11 .elementor-element.elementor-element-2cfb7ea6::after{
  content:"";
  position:absolute;
  inset:-12%;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.14), transparent 44%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.16), transparent 50%);
  transform: translateZ(0);
}

/* Shine diagonal */
.elementor-11 .elementor-element.elementor-element-2cfb7ea6::before{
  content:"";
  position:absolute;
  top:-150%;
  left:-36%;
  width:34%;
  height:380%;
  pointer-events:none;
  opacity:0;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.07) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.07) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-200%) skewX(-18deg);
}

/* ===== Scroll-driven (si el navegador soporta view-timeline) ===== */
@supports (animation-timeline: view()){
  .elementor-11 .elementor-element.elementor-element-2cfb7ea6 img{
    animation: slideDynLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-11 .elementor-element.elementor-element-2cfb7ea6::after{
    animation: glowLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-11 .elementor-element.elementor-element-2cfb7ea6::before{
    animation: shineLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  /* ENTRA lento -> centro dinámico -> SALE rápido (sin filtros) */
  @keyframes slideDynLight{
    0%{
      opacity: 0;
      transform: translate3d(clamp(220px, 44vw, 680px), 0, 0) scale(.99);
    }
    52%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1);
    }
    58%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1.016); /* micro overshoot */
    }
    64%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1);
    }
    100%{
      opacity: 0;
      transform: translate3d(calc(-1 * clamp(220px, 44vw, 680px)), 0, 0) scale(.99);
    }
  }

  @keyframes glowLight{
    0%   { opacity: 0; }
    45%  { opacity: 0; }
    58%  { opacity: .48; }
    72%  { opacity: .20; }
    100% { opacity: 0; }
  }

  @keyframes shineLight{
    0%   { opacity: 0; transform: translateX(-200%) skewX(-18deg); }
    50%  { opacity: 0; transform: translateX(-200%) skewX(-18deg); }
    62%  { opacity: .9; transform: translateX(260%)  skewX(-18deg); }
    70%  { opacity: 0; transform: translateX(260%)  skewX(-18deg); }
    100% { opacity: 0; transform: translateX(260%)  skewX(-18deg); }
  }
}

/* ===== Fallback (sin view-timeline): hover/tap liviano ===== */
@supports not (animation-timeline: view()){
  .elementor-11 .elementor-element.elementor-element-2cfb7ea6 img{
    transition: transform .22s ease, opacity .22s ease;
  }

  @media (hover:hover) and (pointer:fine){
    .elementor-11 .elementor-element.elementor-element-2cfb7ea6:hover img{
      transform: translate3d(0,-4px,0) scale(1.03);
    }
    .elementor-11 .elementor-element.elementor-element-2cfb7ea6:hover::after{ opacity: .38; }
    .elementor-11 .elementor-element.elementor-element-2cfb7ea6:hover::before{
      opacity: .75;
      animation: hoverShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @media (hover:none), (pointer:coarse){
    .elementor-11 .elementor-element.elementor-element-2cfb7ea6:active img{
      transform: translate3d(0,-2px,0) scale(1.02);
    }
    .elementor-11 .elementor-element.elementor-element-2cfb7ea6:active::after{ opacity: .32; }
    .elementor-11 .elementor-element.elementor-element-2cfb7ea6:active::before{
      opacity: .7;
      animation: hoverShine .9s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @keyframes hoverShine{
    0%   { transform: translateX(-200%) skewX(-18deg); }
    100% { transform: translateX(260%)  skewX(-18deg); }
  }
}

/* Mobile: distancia menor y sin cargas extras */
@media (max-width: 767px){
  .elementor-11 .elementor-element.elementor-element-2cfb7ea6{ contain-intrinsic-size: 1px 420px; }

  @supports (animation-timeline: view()){
    @keyframes slideDynLight{
      0%{
        opacity: 0;
        transform: translate3d(clamp(120px, 30vw, 320px), 0, 0) scale(.995);
      }
      52%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1);
      }
      58%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1.012);
      }
      64%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1);
      }
      100%{
        opacity: 0;
        transform: translate3d(calc(-1 * clamp(120px, 30vw, 320px)), 0, 0) scale(.995);
      }
    }
  }

  /* Glow sin blend-mode (más ligero en móvil) */
  .elementor-11 .elementor-element.elementor-element-2cfb7ea6::after{ opacity: 0; }
}

/* Keyframes */
@keyframes luxIn{
  from{ opacity: 0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}

@keyframes microFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-2px,0); }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-11 .elementor-element.elementor-element-2cfb7ea6,
  .elementor-11 .elementor-element.elementor-element-2cfb7ea6 img,
  .elementor-11 .elementor-element.elementor-element-2cfb7ea6::before,
  .elementor-11 .elementor-element.elementor-element-2cfb7ea6::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */



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



/* Start custom CSS for image, class: .elementor-element-327cb81c *//* =========================================================
   LUX SCROLL — OPTIMIZADO (ligero + fluido)
   - Transform + opacity (barato)
   - Glow/Shine sutil (sin filtros pesados)
   - Micro-float solo desktop
   - contain + content-visibility para mejor performance
========================================================= */

.elementor-11 .elementor-element.elementor-element-327cb81c{
  position: relative;
  overflow: visible;
  isolation: isolate;

  transform: translateZ(0);
  will-change: transform;
  contain: layout paint style;           /* reduce costo de repaints */
  content-visibility: auto;             /* no renderiza fuera de viewport */
  contain-intrinsic-size: 1px 600px;    /* reserva espacio para evitar saltos */

  /* entrada suave (1 vez) */
  animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Micro-float SOLO desktop (más liviano en móvil) */
@media (hover:hover) and (pointer:fine){
  .elementor-11 .elementor-element.elementor-element-327cb81c{ animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both, microFloat 2.6s ease-in-out .5s infinite; }
}

.elementor-11 .elementor-element.elementor-element-327cb81c img{
  display:block;
  width:100%;
  height:auto;
  transform: translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change: transform, opacity;
}

/* Glow (barato): sin mix-blend-mode en móvil */
.elementor-11 .elementor-element.elementor-element-327cb81c::after{
  content:"";
  position:absolute;
  inset:-12%;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.14), transparent 44%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.16), transparent 50%);
  transform: translateZ(0);
}

/* Shine diagonal */
.elementor-11 .elementor-element.elementor-element-327cb81c::before{
  content:"";
  position:absolute;
  top:-150%;
  left:-36%;
  width:34%;
  height:380%;
  pointer-events:none;
  opacity:0;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.07) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.07) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-200%) skewX(-18deg);
}

/* ===== Scroll-driven (si el navegador soporta view-timeline) ===== */
@supports (animation-timeline: view()){
  .elementor-11 .elementor-element.elementor-element-327cb81c img{
    animation: slideDynLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-11 .elementor-element.elementor-element-327cb81c::after{
    animation: glowLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-11 .elementor-element.elementor-element-327cb81c::before{
    animation: shineLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  /* ENTRA lento -> centro dinámico -> SALE rápido (sin filtros) */
  @keyframes slideDynLight{
    0%{
      opacity: 0;
      transform: translate3d(clamp(220px, 44vw, 680px), 0, 0) scale(.99);
    }
    52%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1);
    }
    58%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1.016); /* micro overshoot */
    }
    64%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1);
    }
    100%{
      opacity: 0;
      transform: translate3d(calc(-1 * clamp(220px, 44vw, 680px)), 0, 0) scale(.99);
    }
  }

  @keyframes glowLight{
    0%   { opacity: 0; }
    45%  { opacity: 0; }
    58%  { opacity: .48; }
    72%  { opacity: .20; }
    100% { opacity: 0; }
  }

  @keyframes shineLight{
    0%   { opacity: 0; transform: translateX(-200%) skewX(-18deg); }
    50%  { opacity: 0; transform: translateX(-200%) skewX(-18deg); }
    62%  { opacity: .9; transform: translateX(260%)  skewX(-18deg); }
    70%  { opacity: 0; transform: translateX(260%)  skewX(-18deg); }
    100% { opacity: 0; transform: translateX(260%)  skewX(-18deg); }
  }
}

/* ===== Fallback (sin view-timeline): hover/tap liviano ===== */
@supports not (animation-timeline: view()){
  .elementor-11 .elementor-element.elementor-element-327cb81c img{
    transition: transform .22s ease, opacity .22s ease;
  }

  @media (hover:hover) and (pointer:fine){
    .elementor-11 .elementor-element.elementor-element-327cb81c:hover img{
      transform: translate3d(0,-4px,0) scale(1.03);
    }
    .elementor-11 .elementor-element.elementor-element-327cb81c:hover::after{ opacity: .38; }
    .elementor-11 .elementor-element.elementor-element-327cb81c:hover::before{
      opacity: .75;
      animation: hoverShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @media (hover:none), (pointer:coarse){
    .elementor-11 .elementor-element.elementor-element-327cb81c:active img{
      transform: translate3d(0,-2px,0) scale(1.02);
    }
    .elementor-11 .elementor-element.elementor-element-327cb81c:active::after{ opacity: .32; }
    .elementor-11 .elementor-element.elementor-element-327cb81c:active::before{
      opacity: .7;
      animation: hoverShine .9s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @keyframes hoverShine{
    0%   { transform: translateX(-200%) skewX(-18deg); }
    100% { transform: translateX(260%)  skewX(-18deg); }
  }
}

/* Mobile: distancia menor y sin cargas extras */
@media (max-width: 767px){
  .elementor-11 .elementor-element.elementor-element-327cb81c{ contain-intrinsic-size: 1px 420px; }

  @supports (animation-timeline: view()){
    @keyframes slideDynLight{
      0%{
        opacity: 0;
        transform: translate3d(clamp(120px, 30vw, 320px), 0, 0) scale(.995);
      }
      52%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1);
      }
      58%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1.012);
      }
      64%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1);
      }
      100%{
        opacity: 0;
        transform: translate3d(calc(-1 * clamp(120px, 30vw, 320px)), 0, 0) scale(.995);
      }
    }
  }

  /* Glow sin blend-mode (más ligero en móvil) */
  .elementor-11 .elementor-element.elementor-element-327cb81c::after{ opacity: 0; }
}

/* Keyframes */
@keyframes luxIn{
  from{ opacity: 0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}

@keyframes microFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-2px,0); }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-11 .elementor-element.elementor-element-327cb81c,
  .elementor-11 .elementor-element.elementor-element-327cb81c img,
  .elementor-11 .elementor-element.elementor-element-327cb81c::before,
  .elementor-11 .elementor-element.elementor-element-327cb81c::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */



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



/* Start custom CSS for image, class: .elementor-element-79064c3e *//* =========================================================
   LUX SCROLL — OPTIMIZADO (ligero + fluido)
   - Transform + opacity (barato)
   - Glow/Shine sutil (sin filtros pesados)
   - Micro-float solo desktop
   - contain + content-visibility para mejor performance
========================================================= */

.elementor-11 .elementor-element.elementor-element-79064c3e{
  position: relative;
  overflow: visible;
  isolation: isolate;

  transform: translateZ(0);
  will-change: transform;
  contain: layout paint style;           /* reduce costo de repaints */
  content-visibility: auto;             /* no renderiza fuera de viewport */
  contain-intrinsic-size: 1px 600px;    /* reserva espacio para evitar saltos */

  /* entrada suave (1 vez) */
  animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both;
}

/* Micro-float SOLO desktop (más liviano en móvil) */
@media (hover:hover) and (pointer:fine){
  .elementor-11 .elementor-element.elementor-element-79064c3e{ animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both, microFloat 2.6s ease-in-out .5s infinite; }
}

.elementor-11 .elementor-element.elementor-element-79064c3e img{
  display:block;
  width:100%;
  height:auto;
  transform: translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change: transform, opacity;
}

/* Glow (barato): sin mix-blend-mode en móvil */
.elementor-11 .elementor-element.elementor-element-79064c3e::after{
  content:"";
  position:absolute;
  inset:-12%;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.14), transparent 44%),
    radial-gradient(circle at 82% 78%, rgba(121,54,95,.16), transparent 50%);
  transform: translateZ(0);
}

/* Shine diagonal */
.elementor-11 .elementor-element.elementor-element-79064c3e::before{
  content:"";
  position:absolute;
  top:-150%;
  left:-36%;
  width:34%;
  height:380%;
  pointer-events:none;
  opacity:0;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.07) 34%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.07) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-200%) skewX(-18deg);
}

/* ===== Scroll-driven (si el navegador soporta view-timeline) ===== */
@supports (animation-timeline: view()){
  .elementor-11 .elementor-element.elementor-element-79064c3e img{
    animation: slideDynLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-11 .elementor-element.elementor-element-79064c3e::after{
    animation: glowLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-11 .elementor-element.elementor-element-79064c3e::before{
    animation: shineLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  /* ENTRA lento -> centro dinámico -> SALE rápido (sin filtros) */
  @keyframes slideDynLight{
    0%{
      opacity: 0;
      transform: translate3d(clamp(220px, 44vw, 680px), 0, 0) scale(.99);
    }
    52%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1);
    }
    58%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1.016); /* micro overshoot */
    }
    64%{
      opacity: 1;
      transform: translate3d(0,0,0) scale(1);
    }
    100%{
      opacity: 0;
      transform: translate3d(calc(-1 * clamp(220px, 44vw, 680px)), 0, 0) scale(.99);
    }
  }

  @keyframes glowLight{
    0%   { opacity: 0; }
    45%  { opacity: 0; }
    58%  { opacity: .48; }
    72%  { opacity: .20; }
    100% { opacity: 0; }
  }

  @keyframes shineLight{
    0%   { opacity: 0; transform: translateX(-200%) skewX(-18deg); }
    50%  { opacity: 0; transform: translateX(-200%) skewX(-18deg); }
    62%  { opacity: .9; transform: translateX(260%)  skewX(-18deg); }
    70%  { opacity: 0; transform: translateX(260%)  skewX(-18deg); }
    100% { opacity: 0; transform: translateX(260%)  skewX(-18deg); }
  }
}

/* ===== Fallback (sin view-timeline): hover/tap liviano ===== */
@supports not (animation-timeline: view()){
  .elementor-11 .elementor-element.elementor-element-79064c3e img{
    transition: transform .22s ease, opacity .22s ease;
  }

  @media (hover:hover) and (pointer:fine){
    .elementor-11 .elementor-element.elementor-element-79064c3e:hover img{
      transform: translate3d(0,-4px,0) scale(1.03);
    }
    .elementor-11 .elementor-element.elementor-element-79064c3e:hover::after{ opacity: .38; }
    .elementor-11 .elementor-element.elementor-element-79064c3e:hover::before{
      opacity: .75;
      animation: hoverShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @media (hover:none), (pointer:coarse){
    .elementor-11 .elementor-element.elementor-element-79064c3e:active img{
      transform: translate3d(0,-2px,0) scale(1.02);
    }
    .elementor-11 .elementor-element.elementor-element-79064c3e:active::after{ opacity: .32; }
    .elementor-11 .elementor-element.elementor-element-79064c3e:active::before{
      opacity: .7;
      animation: hoverShine .9s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @keyframes hoverShine{
    0%   { transform: translateX(-200%) skewX(-18deg); }
    100% { transform: translateX(260%)  skewX(-18deg); }
  }
}

/* Mobile: distancia menor y sin cargas extras */
@media (max-width: 767px){
  .elementor-11 .elementor-element.elementor-element-79064c3e{ contain-intrinsic-size: 1px 420px; }

  @supports (animation-timeline: view()){
    @keyframes slideDynLight{
      0%{
        opacity: 0;
        transform: translate3d(clamp(120px, 30vw, 320px), 0, 0) scale(.995);
      }
      52%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1);
      }
      58%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1.012);
      }
      64%{
        opacity: 1;
        transform: translate3d(0,0,0) scale(1);
      }
      100%{
        opacity: 0;
        transform: translate3d(calc(-1 * clamp(120px, 30vw, 320px)), 0, 0) scale(.995);
      }
    }
  }

  /* Glow sin blend-mode (más ligero en móvil) */
  .elementor-11 .elementor-element.elementor-element-79064c3e::after{ opacity: 0; }
}

/* Keyframes */
@keyframes luxIn{
  from{ opacity: 0; transform: translate3d(0,10px,0) scale(.99); }
  to  { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}

@keyframes microFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-2px,0); }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-11 .elementor-element.elementor-element-79064c3e,
  .elementor-11 .elementor-element.elementor-element-79064c3e img,
  .elementor-11 .elementor-element.elementor-element-79064c3e::before,
  .elementor-11 .elementor-element.elementor-element-79064c3e::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */



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




/* Start custom CSS for image, class: .elementor-element-55e1f76 *//* ==========================================
   IMAGE FX UNIVERSAL (pegar en cada imagen)
   Elementor Custom CSS (usa ".elementor-11 .elementor-element.elementor-element-55e1f76")
========================================== */

.elementor-11 .elementor-element.elementor-element-55e1f76{
  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;

  /* Se percibe al cargar + movimiento continuo */
  animation:
    vfxWrapIn .38s cubic-bezier(.22,.8,.26,1) both,
    vfxWrapFloat 2.05s ease-in-out .38s infinite;
}

.elementor-11 .elementor-element.elementor-element-55e1f76 img{
  display: block;
  width: 100%;
  height: auto;
  transform: translate3d(0,0,0) scale(1.02);
  -webkit-transform: translate3d(0,0,0) scale(1.02);
  will-change: transform, filter, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* "Respiración" visual llamativa pero estable */
  animation: vfxBreath 2.15s ease-in-out .38s infinite;
  transition: transform .2s cubic-bezier(.22,.8,.26,1), filter .2s ease;
  filter: contrast(1.04) saturate(1.06);
}

/* Glow dinámico */
.elementor-11 .elementor-element.elementor-element-55e1f76::after{
  content: "";
  position: absolute;
  inset: -8%;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.22), transparent 35%),
    radial-gradient(circle at 80% 78%, rgba(121,54,95,.28), transparent 40%);
  mix-blend-mode: screen;
  opacity: .55;
  transform: translate3d(0,0,0) scale(1);
  animation: vfxGlow 1.8s ease-in-out infinite;
}

/* Shine repetitivo (más llamativo) */
.elementor-11 .elementor-element.elementor-element-55e1f76::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -34%;
  width: 34%;
  height: 360%;
  pointer-events: none;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.10) 34%,
    rgba(255,255,255,.34) 50%,
    rgba(255,255,255,.10) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-160%) skewX(-18deg);
  animation: vfxShine 2.25s linear .3s infinite;
}

/* Hover desktop (más interacción inmediata) */
@media (hover:hover) and (pointer:fine){
  .elementor-11 .elementor-element.elementor-element-55e1f76:hover img{
    transform: translate3d(0,0,0) scale(1.07);
    filter: contrast(1.08) saturate(1.1) brightness(1.03);
  }
  .elementor-11 .elementor-element.elementor-element-55e1f76:hover::before{
    animation-duration: .75s;
  }
}

/* Touch móvil: feedback táctil rápido y fluido */
@media (hover:none), (pointer:coarse){
  .elementor-11 .elementor-element.elementor-element-55e1f76{
    border-radius: 14px;
    animation-duration: 2.25s;
  }
  .elementor-11 .elementor-element.elementor-element-55e1f76 img{
    animation-duration: 2.3s;
  }
  .elementor-11 .elementor-element.elementor-element-55e1f76:active img{
    transform: translate3d(0,0,0) scale(1.045);
    filter: contrast(1.07) saturate(1.08);
  }
}

/* Móvil pequeño: menos carga, misma presencia visual */
@media (max-width: 767px){
  .elementor-11 .elementor-element.elementor-element-55e1f76::before{
    width: 30%;
    animation-duration: 2.5s;
  }
  .elementor-11 .elementor-element.elementor-element-55e1f76::after{
    opacity: .48;
  }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .elementor-11 .elementor-element.elementor-element-55e1f76,
  .elementor-11 .elementor-element.elementor-element-55e1f76 img,
  .elementor-11 .elementor-element.elementor-element-55e1f76::before,
  .elementor-11 .elementor-element.elementor-element-55e1f76::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* ===== Keyframes ===== */
@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,8px,0) scale(.99); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}
@keyframes vfxWrapFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-5px,0); }
}
@keyframes vfxBreath{
  0%,100%{ transform: translate3d(0,0,0) scale(1.02); }
  50%    { transform: translate3d(0,0,0) scale(1.055); }
}
@keyframes vfxGlow{
  0%,100%{ opacity:.45; transform: scale(1); }
  50%    { opacity:.72; transform: scale(1.03); }
}
@keyframes vfxShine{
  0%   { transform: translateX(-160%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */






