.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-4500 .elementor-element.elementor-element-2307066{background-color:transparent;top:0px;background-image:linear-gradient(180deg, #E6CACA6B 0%, #ED6E8E5E 100%);}body:not(.rtl) .elementor-4500 .elementor-element.elementor-element-2307066{right:0px;}body.rtl .elementor-4500 .elementor-element.elementor-element-2307066{left:0px;}.elementor-4500 .elementor-element.elementor-element-2307066 .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-4500 .elementor-element.elementor-element-90e3b85 .elementor-button{background-color:#BE3163;}.elementor-4500 .elementor-element.elementor-element-90e3b85 .elementor-button-content-wrapper{flex-direction:row;}.elementor-4500 .elementor-element.elementor-element-7c6966a .elementor-button{background-color:#BE3163;}.elementor-4500 .elementor-element.elementor-element-7c6966a .elementor-button-content-wrapper{flex-direction:row;}.elementor-4500 .elementor-element.elementor-element-ddecd27 .elementor-button{background-color:#BE3163;}.elementor-4500 .elementor-element.elementor-element-ddecd27 .elementor-button-content-wrapper{flex-direction:row;}.elementor-4500 .elementor-element.elementor-element-bf3a1ea .elementor-button{background-color:#BE3163;}.elementor-4500 .elementor-element.elementor-element-bf3a1ea .elementor-button-content-wrapper{flex-direction:row;}.elementor-4500 .elementor-element.elementor-element-6eec6fb .elementor-button{background-color:#BE3163;}.elementor-4500 .elementor-element.elementor-element-6eec6fb .elementor-button-content-wrapper{flex-direction:row;}.elementor-4500 .elementor-element.elementor-element-5831de6 .elementor-button{background-color:#BE3163;}.elementor-4500 .elementor-element.elementor-element-5831de6 .elementor-button-content-wrapper{flex-direction:row;}.elementor-4500 .elementor-element.elementor-element-4906220 .elementor-button{background-color:#BE3163;}.elementor-4500 .elementor-element.elementor-element-4906220 .elementor-button-content-wrapper{flex-direction:row;}.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-4500 .elementor-element.elementor-element-1a7861d{text-align:center;font-family:"Poppins", Sans-serif;font-weight:500;font-style:oblique;color:#000000;}body.elementor-page-4500:not(.elementor-motion-effects-element-type-background), body.elementor-page-4500 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://statusroomshop.com/wp-content/uploads/2026/03/bckgr_1_11zon-scaled.webp");}@media(max-width:767px){.elementor-4500 .elementor-element.elementor-element-2307066{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-4500 .elementor-element.elementor-element-2307066{right:0px;}body.rtl .elementor-4500 .elementor-element.elementor-element-2307066{left:0px;}.elementor-4500 .elementor-element.elementor-element-2307066 .elementor-heading-title{font-size:32px;line-height:0.9em;word-spacing:0.6em;}.elementor-4500 .elementor-element.elementor-element-269464b8{border-radius:20px 20px 20px 20px;}.elementor-4500 .elementor-element.elementor-element-269464b8 img{border-radius:20px 20px 20px 20px;}.elementor-4500 .elementor-element.elementor-element-90e3b85 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-4500 .elementor-element.elementor-element-865241c{border-radius:20px 20px 20px 20px;}.elementor-4500 .elementor-element.elementor-element-865241c img{border-radius:20px 20px 20px 20px;}.elementor-4500 .elementor-element.elementor-element-7c6966a .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-4500 .elementor-element.elementor-element-55c23fb{border-radius:20px 20px 20px 20px;}.elementor-4500 .elementor-element.elementor-element-55c23fb img{border-radius:20px 20px 20px 20px;}.elementor-4500 .elementor-element.elementor-element-ddecd27 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-4500 .elementor-element.elementor-element-3066bb43{border-radius:20px 20px 20px 20px;}.elementor-4500 .elementor-element.elementor-element-3066bb43 img{border-radius:20px 20px 20px 20px;}.elementor-4500 .elementor-element.elementor-element-bf3a1ea .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-4500 .elementor-element.elementor-element-a1098a6{border-radius:20px 20px 20px 20px;}.elementor-4500 .elementor-element.elementor-element-a1098a6 img{border-radius:20px 20px 20px 20px;}.elementor-4500 .elementor-element.elementor-element-6eec6fb .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-4500 .elementor-element.elementor-element-23f9872{border-radius:20px 20px 20px 20px;}.elementor-4500 .elementor-element.elementor-element-23f9872 img{border-radius:20px 20px 20px 20px;}.elementor-4500 .elementor-element.elementor-element-5831de6 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-4500 .elementor-element.elementor-element-6200c9f{border-radius:20px 20px 20px 20px;}.elementor-4500 .elementor-element.elementor-element-6200c9f img{border-radius:20px 20px 20px 20px;}.elementor-4500 .elementor-element.elementor-element-4906220 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-4500 .elementor-element.elementor-element-1a7861d{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-2307066 *//* ==========================================
   BANNER FIJO + MARQUEE INFINITO
   Aplicar en: Sección/Contenedor -> Avanzado -> CSS Personalizado
========================================== */

/* 1. Contenedor Principal */
.elementor-4500 .elementor-element.elementor-element-2307066 {
    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-4500 .elementor-element.elementor-element-2307066 :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-4500 .elementor-element.elementor-element-2307066 :is(.elementor-heading-title, .elementor-widget-container) {
        animation-duration: 60s; 
    }
}

@media (max-width: 767px) {
    .elementor-4500 .elementor-element.elementor-element-2307066 :is(.elementor-heading-title, .elementor-widget-container) {
        animation-duration: 60s;
    }
}

/* 5. Accesibilidad */
@media (prefers-reduced-motion: reduce) {
    .elementor-4500 .elementor-element.elementor-element-2307066 :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-269464b8 *//* =========================================================
   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-4500 .elementor-element.elementor-element-269464b8{
  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-4500 .elementor-element.elementor-element-269464b8{ animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both, microFloat 2.6s ease-in-out .5s infinite; }
}

.elementor-4500 .elementor-element.elementor-element-269464b8 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-4500 .elementor-element.elementor-element-269464b8::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-4500 .elementor-element.elementor-element-269464b8::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-4500 .elementor-element.elementor-element-269464b8 img{
    animation: slideDynLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-4500 .elementor-element.elementor-element-269464b8::after{
    animation: glowLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-4500 .elementor-element.elementor-element-269464b8::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-4500 .elementor-element.elementor-element-269464b8 img{
    transition: transform .22s ease, opacity .22s ease;
  }

  @media (hover:hover) and (pointer:fine){
    .elementor-4500 .elementor-element.elementor-element-269464b8:hover img{
      transform: translate3d(0,-4px,0) scale(1.03);
    }
    .elementor-4500 .elementor-element.elementor-element-269464b8:hover::after{ opacity: .38; }
    .elementor-4500 .elementor-element.elementor-element-269464b8:hover::before{
      opacity: .75;
      animation: hoverShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @media (hover:none), (pointer:coarse){
    .elementor-4500 .elementor-element.elementor-element-269464b8:active img{
      transform: translate3d(0,-2px,0) scale(1.02);
    }
    .elementor-4500 .elementor-element.elementor-element-269464b8:active::after{ opacity: .32; }
    .elementor-4500 .elementor-element.elementor-element-269464b8: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-4500 .elementor-element.elementor-element-269464b8{ 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-4500 .elementor-element.elementor-element-269464b8::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-4500 .elementor-element.elementor-element-269464b8,
  .elementor-4500 .elementor-element.elementor-element-269464b8 img,
  .elementor-4500 .elementor-element.elementor-element-269464b8::before,
  .elementor-4500 .elementor-element.elementor-element-269464b8::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-90e3b85 *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-4500 .elementor-element.elementor-element-90e3b85 .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-4500 .elementor-element.elementor-element-90e3b85 .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-4500 .elementor-element.elementor-element-90e3b85 .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-4500 .elementor-element.elementor-element-90e3b85 .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-4500 .elementor-element.elementor-element-90e3b85 .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-4500 .elementor-element.elementor-element-90e3b85 .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-4500 .elementor-element.elementor-element-90e3b85 .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-4500 .elementor-element.elementor-element-90e3b85 .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-865241c *//* =========================================================
   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-4500 .elementor-element.elementor-element-865241c{
  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-4500 .elementor-element.elementor-element-865241c{ animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both, microFloat 2.6s ease-in-out .5s infinite; }
}

.elementor-4500 .elementor-element.elementor-element-865241c 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-4500 .elementor-element.elementor-element-865241c::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-4500 .elementor-element.elementor-element-865241c::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-4500 .elementor-element.elementor-element-865241c img{
    animation: slideDynLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-4500 .elementor-element.elementor-element-865241c::after{
    animation: glowLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-4500 .elementor-element.elementor-element-865241c::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-4500 .elementor-element.elementor-element-865241c img{
    transition: transform .22s ease, opacity .22s ease;
  }

  @media (hover:hover) and (pointer:fine){
    .elementor-4500 .elementor-element.elementor-element-865241c:hover img{
      transform: translate3d(0,-4px,0) scale(1.03);
    }
    .elementor-4500 .elementor-element.elementor-element-865241c:hover::after{ opacity: .38; }
    .elementor-4500 .elementor-element.elementor-element-865241c:hover::before{
      opacity: .75;
      animation: hoverShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @media (hover:none), (pointer:coarse){
    .elementor-4500 .elementor-element.elementor-element-865241c:active img{
      transform: translate3d(0,-2px,0) scale(1.02);
    }
    .elementor-4500 .elementor-element.elementor-element-865241c:active::after{ opacity: .32; }
    .elementor-4500 .elementor-element.elementor-element-865241c: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-4500 .elementor-element.elementor-element-865241c{ 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-4500 .elementor-element.elementor-element-865241c::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-4500 .elementor-element.elementor-element-865241c,
  .elementor-4500 .elementor-element.elementor-element-865241c img,
  .elementor-4500 .elementor-element.elementor-element-865241c::before,
  .elementor-4500 .elementor-element.elementor-element-865241c::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-7c6966a *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-4500 .elementor-element.elementor-element-7c6966a .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-4500 .elementor-element.elementor-element-7c6966a .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-4500 .elementor-element.elementor-element-7c6966a .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-4500 .elementor-element.elementor-element-7c6966a .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-4500 .elementor-element.elementor-element-7c6966a .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-4500 .elementor-element.elementor-element-7c6966a .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-4500 .elementor-element.elementor-element-7c6966a .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-4500 .elementor-element.elementor-element-7c6966a .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-55c23fb *//* =========================================================
   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-4500 .elementor-element.elementor-element-55c23fb{
  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-4500 .elementor-element.elementor-element-55c23fb{ animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both, microFloat 2.6s ease-in-out .5s infinite; }
}

.elementor-4500 .elementor-element.elementor-element-55c23fb 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-4500 .elementor-element.elementor-element-55c23fb::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-4500 .elementor-element.elementor-element-55c23fb::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-4500 .elementor-element.elementor-element-55c23fb img{
    animation: slideDynLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-4500 .elementor-element.elementor-element-55c23fb::after{
    animation: glowLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-4500 .elementor-element.elementor-element-55c23fb::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-4500 .elementor-element.elementor-element-55c23fb img{
    transition: transform .22s ease, opacity .22s ease;
  }

  @media (hover:hover) and (pointer:fine){
    .elementor-4500 .elementor-element.elementor-element-55c23fb:hover img{
      transform: translate3d(0,-4px,0) scale(1.03);
    }
    .elementor-4500 .elementor-element.elementor-element-55c23fb:hover::after{ opacity: .38; }
    .elementor-4500 .elementor-element.elementor-element-55c23fb:hover::before{
      opacity: .75;
      animation: hoverShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @media (hover:none), (pointer:coarse){
    .elementor-4500 .elementor-element.elementor-element-55c23fb:active img{
      transform: translate3d(0,-2px,0) scale(1.02);
    }
    .elementor-4500 .elementor-element.elementor-element-55c23fb:active::after{ opacity: .32; }
    .elementor-4500 .elementor-element.elementor-element-55c23fb: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-4500 .elementor-element.elementor-element-55c23fb{ 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-4500 .elementor-element.elementor-element-55c23fb::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-4500 .elementor-element.elementor-element-55c23fb,
  .elementor-4500 .elementor-element.elementor-element-55c23fb img,
  .elementor-4500 .elementor-element.elementor-element-55c23fb::before,
  .elementor-4500 .elementor-element.elementor-element-55c23fb::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-ddecd27 *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-4500 .elementor-element.elementor-element-ddecd27 .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-4500 .elementor-element.elementor-element-ddecd27 .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-4500 .elementor-element.elementor-element-ddecd27 .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-4500 .elementor-element.elementor-element-ddecd27 .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-4500 .elementor-element.elementor-element-ddecd27 .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-4500 .elementor-element.elementor-element-ddecd27 .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-4500 .elementor-element.elementor-element-ddecd27 .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-4500 .elementor-element.elementor-element-ddecd27 .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-3066bb43 *//* =========================================================
   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-4500 .elementor-element.elementor-element-3066bb43{
  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-4500 .elementor-element.elementor-element-3066bb43{ animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both, microFloat 2.6s ease-in-out .5s infinite; }
}

.elementor-4500 .elementor-element.elementor-element-3066bb43 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-4500 .elementor-element.elementor-element-3066bb43::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-4500 .elementor-element.elementor-element-3066bb43::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-4500 .elementor-element.elementor-element-3066bb43 img{
    animation: slideDynLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-4500 .elementor-element.elementor-element-3066bb43::after{
    animation: glowLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-4500 .elementor-element.elementor-element-3066bb43::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-4500 .elementor-element.elementor-element-3066bb43 img{
    transition: transform .22s ease, opacity .22s ease;
  }

  @media (hover:hover) and (pointer:fine){
    .elementor-4500 .elementor-element.elementor-element-3066bb43:hover img{
      transform: translate3d(0,-4px,0) scale(1.03);
    }
    .elementor-4500 .elementor-element.elementor-element-3066bb43:hover::after{ opacity: .38; }
    .elementor-4500 .elementor-element.elementor-element-3066bb43:hover::before{
      opacity: .75;
      animation: hoverShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @media (hover:none), (pointer:coarse){
    .elementor-4500 .elementor-element.elementor-element-3066bb43:active img{
      transform: translate3d(0,-2px,0) scale(1.02);
    }
    .elementor-4500 .elementor-element.elementor-element-3066bb43:active::after{ opacity: .32; }
    .elementor-4500 .elementor-element.elementor-element-3066bb43: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-4500 .elementor-element.elementor-element-3066bb43{ 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-4500 .elementor-element.elementor-element-3066bb43::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-4500 .elementor-element.elementor-element-3066bb43,
  .elementor-4500 .elementor-element.elementor-element-3066bb43 img,
  .elementor-4500 .elementor-element.elementor-element-3066bb43::before,
  .elementor-4500 .elementor-element.elementor-element-3066bb43::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-bf3a1ea *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-4500 .elementor-element.elementor-element-bf3a1ea .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-4500 .elementor-element.elementor-element-bf3a1ea .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-4500 .elementor-element.elementor-element-bf3a1ea .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-4500 .elementor-element.elementor-element-bf3a1ea .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-4500 .elementor-element.elementor-element-bf3a1ea .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-4500 .elementor-element.elementor-element-bf3a1ea .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-4500 .elementor-element.elementor-element-bf3a1ea .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-4500 .elementor-element.elementor-element-bf3a1ea .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-a1098a6 *//* =========================================================
   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-4500 .elementor-element.elementor-element-a1098a6{
  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-4500 .elementor-element.elementor-element-a1098a6{ animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both, microFloat 2.6s ease-in-out .5s infinite; }
}

.elementor-4500 .elementor-element.elementor-element-a1098a6 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-4500 .elementor-element.elementor-element-a1098a6::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-4500 .elementor-element.elementor-element-a1098a6::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-4500 .elementor-element.elementor-element-a1098a6 img{
    animation: slideDynLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-4500 .elementor-element.elementor-element-a1098a6::after{
    animation: glowLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-4500 .elementor-element.elementor-element-a1098a6::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-4500 .elementor-element.elementor-element-a1098a6 img{
    transition: transform .22s ease, opacity .22s ease;
  }

  @media (hover:hover) and (pointer:fine){
    .elementor-4500 .elementor-element.elementor-element-a1098a6:hover img{
      transform: translate3d(0,-4px,0) scale(1.03);
    }
    .elementor-4500 .elementor-element.elementor-element-a1098a6:hover::after{ opacity: .38; }
    .elementor-4500 .elementor-element.elementor-element-a1098a6:hover::before{
      opacity: .75;
      animation: hoverShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @media (hover:none), (pointer:coarse){
    .elementor-4500 .elementor-element.elementor-element-a1098a6:active img{
      transform: translate3d(0,-2px,0) scale(1.02);
    }
    .elementor-4500 .elementor-element.elementor-element-a1098a6:active::after{ opacity: .32; }
    .elementor-4500 .elementor-element.elementor-element-a1098a6: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-4500 .elementor-element.elementor-element-a1098a6{ 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-4500 .elementor-element.elementor-element-a1098a6::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-4500 .elementor-element.elementor-element-a1098a6,
  .elementor-4500 .elementor-element.elementor-element-a1098a6 img,
  .elementor-4500 .elementor-element.elementor-element-a1098a6::before,
  .elementor-4500 .elementor-element.elementor-element-a1098a6::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-6eec6fb *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-4500 .elementor-element.elementor-element-6eec6fb .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-4500 .elementor-element.elementor-element-6eec6fb .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-4500 .elementor-element.elementor-element-6eec6fb .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-4500 .elementor-element.elementor-element-6eec6fb .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-4500 .elementor-element.elementor-element-6eec6fb .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-4500 .elementor-element.elementor-element-6eec6fb .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-4500 .elementor-element.elementor-element-6eec6fb .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-4500 .elementor-element.elementor-element-6eec6fb .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-23f9872 *//* =========================================================
   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-4500 .elementor-element.elementor-element-23f9872{
  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-4500 .elementor-element.elementor-element-23f9872{ animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both, microFloat 2.6s ease-in-out .5s infinite; }
}

.elementor-4500 .elementor-element.elementor-element-23f9872 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-4500 .elementor-element.elementor-element-23f9872::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-4500 .elementor-element.elementor-element-23f9872::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-4500 .elementor-element.elementor-element-23f9872 img{
    animation: slideDynLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-4500 .elementor-element.elementor-element-23f9872::after{
    animation: glowLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-4500 .elementor-element.elementor-element-23f9872::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-4500 .elementor-element.elementor-element-23f9872 img{
    transition: transform .22s ease, opacity .22s ease;
  }

  @media (hover:hover) and (pointer:fine){
    .elementor-4500 .elementor-element.elementor-element-23f9872:hover img{
      transform: translate3d(0,-4px,0) scale(1.03);
    }
    .elementor-4500 .elementor-element.elementor-element-23f9872:hover::after{ opacity: .38; }
    .elementor-4500 .elementor-element.elementor-element-23f9872:hover::before{
      opacity: .75;
      animation: hoverShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @media (hover:none), (pointer:coarse){
    .elementor-4500 .elementor-element.elementor-element-23f9872:active img{
      transform: translate3d(0,-2px,0) scale(1.02);
    }
    .elementor-4500 .elementor-element.elementor-element-23f9872:active::after{ opacity: .32; }
    .elementor-4500 .elementor-element.elementor-element-23f9872: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-4500 .elementor-element.elementor-element-23f9872{ 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-4500 .elementor-element.elementor-element-23f9872::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-4500 .elementor-element.elementor-element-23f9872,
  .elementor-4500 .elementor-element.elementor-element-23f9872 img,
  .elementor-4500 .elementor-element.elementor-element-23f9872::before,
  .elementor-4500 .elementor-element.elementor-element-23f9872::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-5831de6 *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-4500 .elementor-element.elementor-element-5831de6 .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-4500 .elementor-element.elementor-element-5831de6 .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-4500 .elementor-element.elementor-element-5831de6 .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-4500 .elementor-element.elementor-element-5831de6 .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-4500 .elementor-element.elementor-element-5831de6 .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-4500 .elementor-element.elementor-element-5831de6 .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-4500 .elementor-element.elementor-element-5831de6 .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-4500 .elementor-element.elementor-element-5831de6 .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */



/* Start custom CSS for image, class: .elementor-element-6200c9f *//* =========================================================
   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-4500 .elementor-element.elementor-element-6200c9f{
  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-4500 .elementor-element.elementor-element-6200c9f{ animation: luxIn .42s cubic-bezier(.22,.8,.26,1) both, microFloat 2.6s ease-in-out .5s infinite; }
}

.elementor-4500 .elementor-element.elementor-element-6200c9f 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-4500 .elementor-element.elementor-element-6200c9f::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-4500 .elementor-element.elementor-element-6200c9f::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-4500 .elementor-element.elementor-element-6200c9f img{
    animation: slideDynLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-4500 .elementor-element.elementor-element-6200c9f::after{
    animation: glowLight linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }

  .elementor-4500 .elementor-element.elementor-element-6200c9f::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-4500 .elementor-element.elementor-element-6200c9f img{
    transition: transform .22s ease, opacity .22s ease;
  }

  @media (hover:hover) and (pointer:fine){
    .elementor-4500 .elementor-element.elementor-element-6200c9f:hover img{
      transform: translate3d(0,-4px,0) scale(1.03);
    }
    .elementor-4500 .elementor-element.elementor-element-6200c9f:hover::after{ opacity: .38; }
    .elementor-4500 .elementor-element.elementor-element-6200c9f:hover::before{
      opacity: .75;
      animation: hoverShine 1.1s cubic-bezier(.22,.8,.26,1) forwards;
    }
  }

  @media (hover:none), (pointer:coarse){
    .elementor-4500 .elementor-element.elementor-element-6200c9f:active img{
      transform: translate3d(0,-2px,0) scale(1.02);
    }
    .elementor-4500 .elementor-element.elementor-element-6200c9f:active::after{ opacity: .32; }
    .elementor-4500 .elementor-element.elementor-element-6200c9f: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-4500 .elementor-element.elementor-element-6200c9f{ 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-4500 .elementor-element.elementor-element-6200c9f::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-4500 .elementor-element.elementor-element-6200c9f,
  .elementor-4500 .elementor-element.elementor-element-6200c9f img,
  .elementor-4500 .elementor-element.elementor-element-6200c9f::before,
  .elementor-4500 .elementor-element.elementor-element-6200c9f::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-4906220 *//* ===== S1 BOTÓN (desktop + móvil) ===== */
.elementor-4500 .elementor-element.elementor-element-4906220 .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-4500 .elementor-element.elementor-element-4906220 .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-4500 .elementor-element.elementor-element-4906220 .elementor-button:hover{
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.08);
  }
  .elementor-4500 .elementor-element.elementor-element-4906220 .elementor-button:hover::before{
    animation: s1_btn_shine .85s ease forwards;
  }
}

/* Touch feedback */
@media (hover: none), (pointer: coarse){
  .elementor-4500 .elementor-element.elementor-element-4906220 .elementor-button{
    animation-duration: 3.2s; /* menos invasivo en móvil */
  }
  .elementor-4500 .elementor-element.elementor-element-4906220 .elementor-button:active{
    transform: scale(.98);
    filter: brightness(1.06);
  }
}

/* foco accesible */
.elementor-4500 .elementor-element.elementor-element-4906220 .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-4500 .elementor-element.elementor-element-4906220 .elementor-button{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */






