.elementor-widget-section .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-section .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-section .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-column .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-column .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-column .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-image .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-image .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-image .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-button .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-button .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-button .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button{background-color:#4A36EF;}.elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button{background-color:#4A36EF;}.elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button{background-color:#4A36EF;}.elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.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-55 .elementor-element.elementor-element-b70096b{text-align:center;}.elementor-55 .elementor-element.elementor-element-b70096b .elementor-heading-title{color:#000000;}.elementor-widget-countdown .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-countdown .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-countdown .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-countdown .elementor-countdown-item{background-color:var( --e-global-color-primary );}.elementor-widget-countdown .elementor-countdown-digits{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-countdown .elementor-countdown-label{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-countdown .elementor-countdown-expire--message{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-55 .elementor-element.elementor-element-fa854b8 .elementor-countdown-wrapper{max-width:100%;}body:not(.rtl) .elementor-55 .elementor-element.elementor-element-fa854b8 .elementor-countdown-item:not(:first-of-type){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-55 .elementor-element.elementor-element-fa854b8 .elementor-countdown-item:not(:last-of-type){margin-right:calc( 10px/2 );}body.rtl .elementor-55 .elementor-element.elementor-element-fa854b8 .elementor-countdown-item:not(:first-of-type){margin-right:calc( 10px/2 );}body.rtl .elementor-55 .elementor-element.elementor-element-fa854b8 .elementor-countdown-item:not(:last-of-type){margin-left:calc( 10px/2 );}.elementor-55 .elementor-element.elementor-element-fa854b8 .elementor-countdown-item{background-color:#E70A0A;border-radius:20px 20px 20px 20px;}.elementor-55 .elementor-element.elementor-element-fa854b8 .elementor-countdown-digits{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-55 .elementor-element.elementor-element-fa854b8 .elementor-countdown-label{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-55 .elementor-element.elementor-element-339e38c{text-align:center;}.elementor-55 .elementor-element.elementor-element-339e38c .elementor-heading-title{color:#000000;}.elementor-widget-progress .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-progress .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-progress .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-progress .elementor-title{color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-progress .elementor-progress-wrapper .elementor-progress-bar{background-color:var( --e-global-color-primary );}.elementor-55 .elementor-element.elementor-element-8e2967c .elementor-progress-wrapper .elementor-progress-bar{background-color:#E70A0A;}.elementor-55 .elementor-element.elementor-element-8e2967c .elementor-progress-bar{height:45px;line-height:45px;}.elementor-55 .elementor-element.elementor-element-8e2967c .elementor-progress-wrapper{border-radius:20px;overflow:hidden;}.elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button{background-color:#0071E3;}.elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button{background-color:#4A36EF;}.elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button{background-color:#4A36EF;}.elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-55 .elementor-element.elementor-element-f0b7edb{text-align:center;}.elementor-55 .elementor-element.elementor-element-f0b7edb .elementor-heading-title{color:#000000;}.elementor-widget-rating .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-rating .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-rating .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-image-carousel .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-image-carousel .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-image-carousel .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-image-carousel .pafe-navigation-arrows-icon-arrows{color:var( --e-global-color-primary );}.elementor-55 .elementor-element.elementor-element-d635764 .elementor-button{background-color:#4A36EF;}.elementor-55 .elementor-element.elementor-element-d635764 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-55 .elementor-element.elementor-element-1e0778c2{text-align:center;}.elementor-55 .elementor-element.elementor-element-1e0778c2 .elementor-heading-title{color:#000000;}.elementor-widget-text-editor .pafe-woocommerce-sales-funnels-add-to-cart-message--success{color:var( --e-global-color-primary );}.elementor-widget-text-editor .pafe-woocommerce-sales-funnels-add-to-cart-message--out-of-stock{color:var( --e-global-color-primary );}.elementor-widget-text-editor .pafe-woocommerce-sales-funnels-add-to-cart-message{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-55 .elementor-element.elementor-element-46ef1137{text-align:justify;font-family:"Montserrat", Sans-serif;font-weight:400;color:#000000;}body.elementor-page-55:not(.elementor-motion-effects-element-type-background), body.elementor-page-55 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://icephonegt.online/wp-content/uploads/2026/03/seccion7_11_11zon-scaled.webp");}@media(max-width:767px){.elementor-55 .elementor-element.elementor-element-3776e788{border-radius:20px 20px 20px 20px;}.elementor-55 .elementor-element.elementor-element-41217317{border-radius:20px 20px 20px 20px;}.elementor-55 .elementor-element.elementor-element-2c780ef5{border-radius:20px 20px 20px 20px;}.elementor-55 .elementor-element.elementor-element-b70096b{text-align:center;}body:not(.rtl) .elementor-55 .elementor-element.elementor-element-fa854b8 .elementor-countdown-item:not(:first-of-type){margin-left:calc( 20px/2 );}body:not(.rtl) .elementor-55 .elementor-element.elementor-element-fa854b8 .elementor-countdown-item:not(:last-of-type){margin-right:calc( 20px/2 );}body.rtl .elementor-55 .elementor-element.elementor-element-fa854b8 .elementor-countdown-item:not(:first-of-type){margin-right:calc( 20px/2 );}body.rtl .elementor-55 .elementor-element.elementor-element-fa854b8 .elementor-countdown-item:not(:last-of-type){margin-left:calc( 20px/2 );}.elementor-55 .elementor-element.elementor-element-fa854b8 .elementor-countdown-digits{font-size:36px;}.elementor-55 .elementor-element.elementor-element-fa854b8 .elementor-countdown-label{font-size:16px;}.elementor-55 .elementor-element.elementor-element-2cfc667f{border-radius:20px 20px 20px 20px;}.elementor-55 .elementor-element.elementor-element-339e38c{text-align:center;}.elementor-55 .elementor-element.elementor-element-8e2967c.elementor-element{--flex-grow:0;--flex-shrink:1;}.elementor-55 .elementor-element.elementor-element-bde947c{border-radius:20px 20px 20px 20px;}.elementor-55 .elementor-element.elementor-element-231ccd69{border-radius:20px 20px 20px 20px;}.elementor-55 .elementor-element.elementor-element-f0b7edb{text-align:center;}.elementor-55 .elementor-element.elementor-element-cbb0fb6{--e-rating-justify-content:center;--e-rating-gap:15px;}.elementor-55 .elementor-element.elementor-element-1e0778c2{text-align:center;}.elementor-55 .elementor-element.elementor-element-1134a30a{border-radius:20px 20px 20px 20px;}.elementor-55 .elementor-element.elementor-element-46ef1137{text-align:justify;}}/* Start custom CSS for image, class: .elementor-element-3776e788 *//* ==========================================
   IMAGE FX UNIVERSAL - VERSIÓN MÁS LENTA
   Elementor Custom CSS
========================================== */

.elementor-55 .elementor-element.elementor-element-3776e788{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Entrada suave + flotación más lenta */
  animation:
    vfxWrapIn .5s cubic-bezier(.22,.8,.26,1) both,
    vfxWrapFloat 5.8s ease-in-out .5s infinite;
}

.elementor-55 .elementor-element.elementor-element-3776e788 img{
  display: block;
  width: 100%;
  height: auto;
  transform: translate3d(0,0,0) scale(1.01);
  -webkit-transform: translate3d(0,0,0) scale(1.01);
  will-change: transform, filter, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  /* Respiración mucho más calmada */
  animation: vfxBreath 6.4s ease-in-out .5s infinite;
  transition: transform .28s cubic-bezier(.22,.8,.26,1), filter .28s ease;
  filter: contrast(1.03) saturate(1.04);
}

/* Glow más sutil */
.elementor-55 .elementor-element.elementor-element-3776e788::after{
  content: "";
  position: absolute;
  inset: -8%;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.14), transparent 35%),
    radial-gradient(circle at 80% 78%, rgba(121,54,95,.16), transparent 40%);
  mix-blend-mode: screen;
  opacity: .34;
  transform: translate3d(0,0,0) scale(1);
  animation: vfxGlow 7.2s ease-in-out infinite;
}

/* Shine menos frecuente */
.elementor-55 .elementor-element.elementor-element-3776e788::before{
  content: "";
  position: absolute;
  top: -140%;
  left: -34%;
  width: 28%;
  height: 360%;
  pointer-events: none;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.05) 34%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.05) 66%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-160%) skewX(-18deg);
  animation: vfxShine 8.5s linear 1.2s infinite;
}

@media (hover:hover) and (pointer:fine){
  .elementor-55 .elementor-element.elementor-element-3776e788:hover img{
    transform: translate3d(0,0,0) scale(1.035);
    filter: contrast(1.05) saturate(1.06) brightness(1.01);
  }
  .elementor-55 .elementor-element.elementor-element-3776e788:hover::before{
    animation-duration: 4.2s;
  }
}

@media (hover:none), (pointer:coarse){
  .elementor-55 .elementor-element.elementor-element-3776e788{
    border-radius: 14px;
  }
  .elementor-55 .elementor-element.elementor-element-3776e788 img{
    animation-duration: 6.8s;
  }
  .elementor-55 .elementor-element.elementor-element-3776e788::before{
    animation-duration: 10s;
  }
  .elementor-55 .elementor-element.elementor-element-3776e788::after{
    animation-duration: 8s;
  }
  .elementor-55 .elementor-element.elementor-element-3776e788:active img{
    transform: translate3d(0,0,0) scale(1.025);
    filter: contrast(1.04) saturate(1.05);
  }
}

@media (max-width: 767px){
  .elementor-55 .elementor-element.elementor-element-3776e788::before{
    width: 24%;
    opacity: .75;
  }
  .elementor-55 .elementor-element.elementor-element-3776e788::after{
    opacity: .28;
  }
}

@media (prefers-reduced-motion: reduce){
  .elementor-55 .elementor-element.elementor-element-3776e788,
  .elementor-55 .elementor-element.elementor-element-3776e788 img,
  .elementor-55 .elementor-element.elementor-element-3776e788::before,
  .elementor-55 .elementor-element.elementor-element-3776e788::after{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

@keyframes vfxWrapIn{
  from{ opacity: .0; transform: translate3d(0,8px,0) scale(.992); }
  to  { opacity: 1;   transform: translate3d(0,0,0) scale(1); }
}
@keyframes vfxWrapFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%    { transform: translate3d(0,-3px,0); }
}
@keyframes vfxBreath{
  0%,100%{ transform: translate3d(0,0,0) scale(1.01); }
  50%    { transform: translate3d(0,0,0) scale(1.026); }
}
@keyframes vfxGlow{
  0%,100%{ opacity:.28; transform: scale(1); }
  50%    { opacity:.42; transform: scale(1.015); }
}
@keyframes vfxShine{
  0%   { transform: translateX(-160%) skewX(-18deg); }
  100% { transform: translateX(260%) skewX(-18deg); }
}/* End custom CSS */



/* Start custom CSS for button, class: .elementor-element-943e9d0 *//* ============================
   BOTÓN DE COMPRA (Elementor)
   Color base: #9E0000
   ============================ */

.elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button{
  --btn-red: #3523CC;
  --btn-red-dark:#0071E3;
  --btn-red-light:#0071E3;
  --btn-text: #ffffff;

  position: relative;
  overflow: hidden;
  isolation: isolate; /* asegura que el brillo quede dentro del botón */

  background: linear-gradient(180deg, var(--btn-red-light) 0%, var(--btn-red) 55%, var(--btn-red-dark) 100%);
  color: var(--btn-text) !important;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;

  /* Ajustes visuales */
  font-weight: 700;
  letter-spacing: 0.2px;
  padding: 14px 24px;

  /* Efectos */
  box-shadow:
    0 10px 22px rgba(158, 0, 0, 0.28),
    0 4px 10px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.20);

  transform: translateZ(0);
  transition:
    transform .12s ease,
    box-shadow .12s ease,
    filter .12s ease,
    background .12s ease;

  /* Pulso suave al cargar */
  animation: buyPulseRed 1.1s ease-in-out infinite;
}

/* Brillo diagonal premium */
.elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button::before{
  content: "";
  position: absolute;
  top: -20%;
  left: -35%;
  width: 28%;
  height: 140%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.16) 45%,
    rgba(255,255,255,0.38) 50%,
    rgba(255,255,255,0.16) 55%,
    rgba(255,255,255,0) 100%
  );
  transform: rotate(18deg) translateX(-180%);
  z-index: 1;
  pointer-events: none;
  animation: buyShineRed 2.8s linear infinite;
}

/* Capa superior para que el texto quede siempre bien */
.elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button .elementor-button-text,
.elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button .elementor-button-icon{
  position: relative;
  z-index: 2;
}

/* Hover (desktop) */
@media (hover: hover){
  .elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button:hover{
    transform: translateY(-2px) scale(1.02);
    filter: saturate(1.06);
    animation: none; /* pausa pulso para evitar conflicto visual */
    box-shadow:
      0 14px 28px rgba(158, 0, 0, 0.34),
      0 6px 14px rgba(0, 0, 0, 0.20),
      inset 0 1px 0 rgba(255, 255, 255, 0.25);
  }

  .elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button:hover::before{
    animation-duration: 1.2s; /* brillo más rápido al hover */
  }
}

/* Click / tap */
.elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button:active{
  transform: translateY(0) scale(0.985);
  box-shadow:
    0 6px 14px rgba(158, 0, 0, 0.22),
    0 2px 6px rgba(0, 0, 0, 0.16),
    inset 0 2px 6px rgba(0, 0, 0, 0.18);
}

/* Focus accesible (teclado) */
.elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button:focus,
.elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 3px rgba(255,255,255,0.75),
    0 0 0 6px rgba(158, 0, 0, 0.30),
    0 10px 22px rgba(158, 0, 0, 0.28);
}

/* Si el botón tiene icono */
.elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button .elementor-button-icon{
  transition: transform .2s ease;
}
@media (hover: hover){
  .elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button:hover .elementor-button-icon{
    transform: translateX(2px);
  }
}

/* Animación de pulso */
@keyframes buyPulseRed{
  0%{
    box-shadow:
      0 10px 22px rgba(99, 86, 204, 1),
      0 4px 10px rgba(99, 86, 204, 1),
      0 0 0 0 rgba(99, 86, 204, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
  70%{
    box-shadow:
      0 10px 22px rgba(0, 113, 227, 1),
      0 4px 10px rgba(0, 0, 0, 0.18),
      0 0 0 14px rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
  100%{
    box-shadow:
      0 10px 22px rgba(0, 113, 227, 1),
      0 4px 10px rgba(0, 113, 227, 1),
      0 0 0 0 rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
}

/* Animación de brillo */
@keyframes buyShineRed{
  0%{
    transform: rotate(18deg) translateX(-220%);
  }
  100%{
    transform: rotate(18deg) translateX(620%);
  }
}

/* Mobile: más fluido y menos carga visual */
@media (max-width: 767px){
  .elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button{
    border-radius: 12px;
    padding: 13px 18px;
    animation-duration: 1.8s;
    box-shadow:
      0 8px 18px rgba(0, 113, 227, 1),
      0 3px 8px rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.18);
  }

  .elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button::before{
    animation-duration: 2.2s; /* brillo visible pero liviano */
    opacity: .9;
  }
}

/* Respeta usuarios con menor movimiento */
@media (prefers-reduced-motion: reduce){
  .elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button,
  .elementor-55 .elementor-element.elementor-element-943e9d0 .elementor-button::before{
    animation: none !important;
    transition: none !important;
  }
}/* End custom CSS */



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



/* Start custom CSS for button, class: .elementor-element-af99ffd *//* ============================
   BOTÓN DE COMPRA (Elementor)
   Color base: #9E0000
   ============================ */

.elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button{
  --btn-red: #3523CC;
  --btn-red-dark:#0071E3;
  --btn-red-light:#0071E3;
  --btn-text: #ffffff;

  position: relative;
  overflow: hidden;
  isolation: isolate; /* asegura que el brillo quede dentro del botón */

  background: linear-gradient(180deg, var(--btn-red-light) 0%, var(--btn-red) 55%, var(--btn-red-dark) 100%);
  color: var(--btn-text) !important;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;

  /* Ajustes visuales */
  font-weight: 700;
  letter-spacing: 0.2px;
  padding: 14px 24px;

  /* Efectos */
  box-shadow:
    0 10px 22px rgba(158, 0, 0, 0.28),
    0 4px 10px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.20);

  transform: translateZ(0);
  transition:
    transform .12s ease,
    box-shadow .12s ease,
    filter .12s ease,
    background .12s ease;

  /* Pulso suave al cargar */
  animation: buyPulseRed 1.1s ease-in-out infinite;
}

/* Brillo diagonal premium */
.elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button::before{
  content: "";
  position: absolute;
  top: -20%;
  left: -35%;
  width: 28%;
  height: 140%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.16) 45%,
    rgba(255,255,255,0.38) 50%,
    rgba(255,255,255,0.16) 55%,
    rgba(255,255,255,0) 100%
  );
  transform: rotate(18deg) translateX(-180%);
  z-index: 1;
  pointer-events: none;
  animation: buyShineRed 2.8s linear infinite;
}

/* Capa superior para que el texto quede siempre bien */
.elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button .elementor-button-text,
.elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button .elementor-button-icon{
  position: relative;
  z-index: 2;
}

/* Hover (desktop) */
@media (hover: hover){
  .elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button:hover{
    transform: translateY(-2px) scale(1.02);
    filter: saturate(1.06);
    animation: none; /* pausa pulso para evitar conflicto visual */
    box-shadow:
      0 14px 28px rgba(158, 0, 0, 0.34),
      0 6px 14px rgba(0, 0, 0, 0.20),
      inset 0 1px 0 rgba(255, 255, 255, 0.25);
  }

  .elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button:hover::before{
    animation-duration: 1.2s; /* brillo más rápido al hover */
  }
}

/* Click / tap */
.elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button:active{
  transform: translateY(0) scale(0.985);
  box-shadow:
    0 6px 14px rgba(158, 0, 0, 0.22),
    0 2px 6px rgba(0, 0, 0, 0.16),
    inset 0 2px 6px rgba(0, 0, 0, 0.18);
}

/* Focus accesible (teclado) */
.elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button:focus,
.elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 3px rgba(255,255,255,0.75),
    0 0 0 6px rgba(158, 0, 0, 0.30),
    0 10px 22px rgba(158, 0, 0, 0.28);
}

/* Si el botón tiene icono */
.elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button .elementor-button-icon{
  transition: transform .2s ease;
}
@media (hover: hover){
  .elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button:hover .elementor-button-icon{
    transform: translateX(2px);
  }
}

/* Animación de pulso */
@keyframes buyPulseRed{
  0%{
    box-shadow:
      0 10px 22px rgba(99, 86, 204, 1),
      0 4px 10px rgba(99, 86, 204, 1),
      0 0 0 0 rgba(99, 86, 204, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
  70%{
    box-shadow:
      0 10px 22px rgba(0, 113, 227, 1),
      0 4px 10px rgba(0, 0, 0, 0.18),
      0 0 0 14px rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
  100%{
    box-shadow:
      0 10px 22px rgba(0, 113, 227, 1),
      0 4px 10px rgba(0, 113, 227, 1),
      0 0 0 0 rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
}

/* Animación de brillo */
@keyframes buyShineRed{
  0%{
    transform: rotate(18deg) translateX(-220%);
  }
  100%{
    transform: rotate(18deg) translateX(620%);
  }
}

/* Mobile: más fluido y menos carga visual */
@media (max-width: 767px){
  .elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button{
    border-radius: 12px;
    padding: 13px 18px;
    animation-duration: 1.8s;
    box-shadow:
      0 8px 18px rgba(0, 113, 227, 1),
      0 3px 8px rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.18);
  }

  .elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button::before{
    animation-duration: 2.2s; /* brillo visible pero liviano */
    opacity: .9;
  }
}

/* Respeta usuarios con menor movimiento */
@media (prefers-reduced-motion: reduce){
  .elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button,
  .elementor-55 .elementor-element.elementor-element-af99ffd .elementor-button::before{
    animation: none !important;
    transition: none !important;
  }
}/* End custom CSS */



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



/* Start custom CSS for button, class: .elementor-element-7d58985 *//* ============================
   BOTÓN DE COMPRA (Elementor)
   Color base: #9E0000
   ============================ */

.elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button{
  --btn-red: #3523CC;
  --btn-red-dark:#0071E3;
  --btn-red-light:#0071E3;
  --btn-text: #ffffff;

  position: relative;
  overflow: hidden;
  isolation: isolate; /* asegura que el brillo quede dentro del botón */

  background: linear-gradient(180deg, var(--btn-red-light) 0%, var(--btn-red) 55%, var(--btn-red-dark) 100%);
  color: var(--btn-text) !important;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;

  /* Ajustes visuales */
  font-weight: 700;
  letter-spacing: 0.2px;
  padding: 14px 24px;

  /* Efectos */
  box-shadow:
    0 10px 22px rgba(158, 0, 0, 0.28),
    0 4px 10px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.20);

  transform: translateZ(0);
  transition:
    transform .12s ease,
    box-shadow .12s ease,
    filter .12s ease,
    background .12s ease;

  /* Pulso suave al cargar */
  animation: buyPulseRed 1.1s ease-in-out infinite;
}

/* Brillo diagonal premium */
.elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button::before{
  content: "";
  position: absolute;
  top: -20%;
  left: -35%;
  width: 28%;
  height: 140%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.16) 45%,
    rgba(255,255,255,0.38) 50%,
    rgba(255,255,255,0.16) 55%,
    rgba(255,255,255,0) 100%
  );
  transform: rotate(18deg) translateX(-180%);
  z-index: 1;
  pointer-events: none;
  animation: buyShineRed 2.8s linear infinite;
}

/* Capa superior para que el texto quede siempre bien */
.elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button .elementor-button-text,
.elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button .elementor-button-icon{
  position: relative;
  z-index: 2;
}

/* Hover (desktop) */
@media (hover: hover){
  .elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button:hover{
    transform: translateY(-2px) scale(1.02);
    filter: saturate(1.06);
    animation: none; /* pausa pulso para evitar conflicto visual */
    box-shadow:
      0 14px 28px rgba(158, 0, 0, 0.34),
      0 6px 14px rgba(0, 0, 0, 0.20),
      inset 0 1px 0 rgba(255, 255, 255, 0.25);
  }

  .elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button:hover::before{
    animation-duration: 1.2s; /* brillo más rápido al hover */
  }
}

/* Click / tap */
.elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button:active{
  transform: translateY(0) scale(0.985);
  box-shadow:
    0 6px 14px rgba(158, 0, 0, 0.22),
    0 2px 6px rgba(0, 0, 0, 0.16),
    inset 0 2px 6px rgba(0, 0, 0, 0.18);
}

/* Focus accesible (teclado) */
.elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button:focus,
.elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 3px rgba(255,255,255,0.75),
    0 0 0 6px rgba(158, 0, 0, 0.30),
    0 10px 22px rgba(158, 0, 0, 0.28);
}

/* Si el botón tiene icono */
.elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button .elementor-button-icon{
  transition: transform .2s ease;
}
@media (hover: hover){
  .elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button:hover .elementor-button-icon{
    transform: translateX(2px);
  }
}

/* Animación de pulso */
@keyframes buyPulseRed{
  0%{
    box-shadow:
      0 10px 22px rgba(99, 86, 204, 1),
      0 4px 10px rgba(99, 86, 204, 1),
      0 0 0 0 rgba(99, 86, 204, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
  70%{
    box-shadow:
      0 10px 22px rgba(0, 113, 227, 1),
      0 4px 10px rgba(0, 0, 0, 0.18),
      0 0 0 14px rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
  100%{
    box-shadow:
      0 10px 22px rgba(0, 113, 227, 1),
      0 4px 10px rgba(0, 113, 227, 1),
      0 0 0 0 rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
}

/* Animación de brillo */
@keyframes buyShineRed{
  0%{
    transform: rotate(18deg) translateX(-220%);
  }
  100%{
    transform: rotate(18deg) translateX(620%);
  }
}

/* Mobile: más fluido y menos carga visual */
@media (max-width: 767px){
  .elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button{
    border-radius: 12px;
    padding: 13px 18px;
    animation-duration: 1.8s;
    box-shadow:
      0 8px 18px rgba(0, 113, 227, 1),
      0 3px 8px rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.18);
  }

  .elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button::before{
    animation-duration: 2.2s; /* brillo visible pero liviano */
    opacity: .9;
  }
}

/* Respeta usuarios con menor movimiento */
@media (prefers-reduced-motion: reduce){
  .elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button,
  .elementor-55 .elementor-element.elementor-element-7d58985 .elementor-button::before{
    animation: none !important;
    transition: none !important;
  }
}/* End custom CSS */




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

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




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

/* Start custom CSS for button, class: .elementor-element-a6f0606 *//* ============================
   BOTÓN DE COMPRA (Elementor)
   Color base: #9E0000
   ============================ */

.elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button{
  --btn-red: #3523CC;
  --btn-red-dark:#0071E3;
  --btn-red-light:#0071E3;
  --btn-text: #ffffff;

  position: relative;
  overflow: hidden;
  isolation: isolate; /* asegura que el brillo quede dentro del botón */

  background: linear-gradient(180deg, var(--btn-red-light) 0%, var(--btn-red) 55%, var(--btn-red-dark) 100%);
  color: var(--btn-text) !important;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;

  /* Ajustes visuales */
  font-weight: 700;
  letter-spacing: 0.2px;
  padding: 14px 24px;

  /* Efectos */
  box-shadow:
    0 10px 22px rgba(158, 0, 0, 0.28),
    0 4px 10px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.20);

  transform: translateZ(0);
  transition:
    transform .12s ease,
    box-shadow .12s ease,
    filter .12s ease,
    background .12s ease;

  /* Pulso suave al cargar */
  animation: buyPulseRed 1.1s ease-in-out infinite;
}

/* Brillo diagonal premium */
.elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button::before{
  content: "";
  position: absolute;
  top: -20%;
  left: -35%;
  width: 28%;
  height: 140%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.16) 45%,
    rgba(255,255,255,0.38) 50%,
    rgba(255,255,255,0.16) 55%,
    rgba(255,255,255,0) 100%
  );
  transform: rotate(18deg) translateX(-180%);
  z-index: 1;
  pointer-events: none;
  animation: buyShineRed 2.8s linear infinite;
}

/* Capa superior para que el texto quede siempre bien */
.elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button .elementor-button-text,
.elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button .elementor-button-icon{
  position: relative;
  z-index: 2;
}

/* Hover (desktop) */
@media (hover: hover){
  .elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button:hover{
    transform: translateY(-2px) scale(1.02);
    filter: saturate(1.06);
    animation: none; /* pausa pulso para evitar conflicto visual */
    box-shadow:
      0 14px 28px rgba(158, 0, 0, 0.34),
      0 6px 14px rgba(0, 0, 0, 0.20),
      inset 0 1px 0 rgba(255, 255, 255, 0.25);
  }

  .elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button:hover::before{
    animation-duration: 1.2s; /* brillo más rápido al hover */
  }
}

/* Click / tap */
.elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button:active{
  transform: translateY(0) scale(0.985);
  box-shadow:
    0 6px 14px rgba(158, 0, 0, 0.22),
    0 2px 6px rgba(0, 0, 0, 0.16),
    inset 0 2px 6px rgba(0, 0, 0, 0.18);
}

/* Focus accesible (teclado) */
.elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button:focus,
.elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 3px rgba(255,255,255,0.75),
    0 0 0 6px rgba(158, 0, 0, 0.30),
    0 10px 22px rgba(158, 0, 0, 0.28);
}

/* Si el botón tiene icono */
.elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button .elementor-button-icon{
  transition: transform .2s ease;
}
@media (hover: hover){
  .elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button:hover .elementor-button-icon{
    transform: translateX(2px);
  }
}

/* Animación de pulso */
@keyframes buyPulseRed{
  0%{
    box-shadow:
      0 10px 22px rgba(99, 86, 204, 1),
      0 4px 10px rgba(99, 86, 204, 1),
      0 0 0 0 rgba(99, 86, 204, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
  70%{
    box-shadow:
      0 10px 22px rgba(0, 113, 227, 1),
      0 4px 10px rgba(0, 0, 0, 0.18),
      0 0 0 14px rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
  100%{
    box-shadow:
      0 10px 22px rgba(0, 113, 227, 1),
      0 4px 10px rgba(0, 113, 227, 1),
      0 0 0 0 rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
}

/* Animación de brillo */
@keyframes buyShineRed{
  0%{
    transform: rotate(18deg) translateX(-220%);
  }
  100%{
    transform: rotate(18deg) translateX(620%);
  }
}

/* Mobile: más fluido y menos carga visual */
@media (max-width: 767px){
  .elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button{
    border-radius: 12px;
    padding: 13px 18px;
    animation-duration: 1.8s;
    box-shadow:
      0 8px 18px rgba(0, 113, 227, 1),
      0 3px 8px rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.18);
  }

  .elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button::before{
    animation-duration: 2.2s; /* brillo visible pero liviano */
    opacity: .9;
  }
}

/* Respeta usuarios con menor movimiento */
@media (prefers-reduced-motion: reduce){
  .elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button,
  .elementor-55 .elementor-element.elementor-element-a6f0606 .elementor-button::before{
    animation: none !important;
    transition: none !important;
  }
}/* End custom CSS */



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



/* Start custom CSS for button, class: .elementor-element-7ebb669 *//* ============================
   BOTÓN DE COMPRA (Elementor)
   Color base: #9E0000
   ============================ */

.elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button{
  --btn-red: #3523CC;
  --btn-red-dark:#0071E3;
  --btn-red-light:#0071E3;
  --btn-text: #ffffff;

  position: relative;
  overflow: hidden;
  isolation: isolate; /* asegura que el brillo quede dentro del botón */

  background: linear-gradient(180deg, var(--btn-red-light) 0%, var(--btn-red) 55%, var(--btn-red-dark) 100%);
  color: var(--btn-text) !important;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;

  /* Ajustes visuales */
  font-weight: 700;
  letter-spacing: 0.2px;
  padding: 14px 24px;

  /* Efectos */
  box-shadow:
    0 10px 22px rgba(158, 0, 0, 0.28),
    0 4px 10px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.20);

  transform: translateZ(0);
  transition:
    transform .12s ease,
    box-shadow .12s ease,
    filter .12s ease,
    background .12s ease;

  /* Pulso suave al cargar */
  animation: buyPulseRed 1.1s ease-in-out infinite;
}

/* Brillo diagonal premium */
.elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button::before{
  content: "";
  position: absolute;
  top: -20%;
  left: -35%;
  width: 28%;
  height: 140%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.16) 45%,
    rgba(255,255,255,0.38) 50%,
    rgba(255,255,255,0.16) 55%,
    rgba(255,255,255,0) 100%
  );
  transform: rotate(18deg) translateX(-180%);
  z-index: 1;
  pointer-events: none;
  animation: buyShineRed 2.8s linear infinite;
}

/* Capa superior para que el texto quede siempre bien */
.elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button .elementor-button-text,
.elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button .elementor-button-icon{
  position: relative;
  z-index: 2;
}

/* Hover (desktop) */
@media (hover: hover){
  .elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button:hover{
    transform: translateY(-2px) scale(1.02);
    filter: saturate(1.06);
    animation: none; /* pausa pulso para evitar conflicto visual */
    box-shadow:
      0 14px 28px rgba(158, 0, 0, 0.34),
      0 6px 14px rgba(0, 0, 0, 0.20),
      inset 0 1px 0 rgba(255, 255, 255, 0.25);
  }

  .elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button:hover::before{
    animation-duration: 1.2s; /* brillo más rápido al hover */
  }
}

/* Click / tap */
.elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button:active{
  transform: translateY(0) scale(0.985);
  box-shadow:
    0 6px 14px rgba(158, 0, 0, 0.22),
    0 2px 6px rgba(0, 0, 0, 0.16),
    inset 0 2px 6px rgba(0, 0, 0, 0.18);
}

/* Focus accesible (teclado) */
.elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button:focus,
.elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 3px rgba(255,255,255,0.75),
    0 0 0 6px rgba(158, 0, 0, 0.30),
    0 10px 22px rgba(158, 0, 0, 0.28);
}

/* Si el botón tiene icono */
.elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button .elementor-button-icon{
  transition: transform .2s ease;
}
@media (hover: hover){
  .elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button:hover .elementor-button-icon{
    transform: translateX(2px);
  }
}

/* Animación de pulso */
@keyframes buyPulseRed{
  0%{
    box-shadow:
      0 10px 22px rgba(99, 86, 204, 1),
      0 4px 10px rgba(99, 86, 204, 1),
      0 0 0 0 rgba(99, 86, 204, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
  70%{
    box-shadow:
      0 10px 22px rgba(0, 113, 227, 1),
      0 4px 10px rgba(0, 0, 0, 0.18),
      0 0 0 14px rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
  100%{
    box-shadow:
      0 10px 22px rgba(0, 113, 227, 1),
      0 4px 10px rgba(0, 113, 227, 1),
      0 0 0 0 rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
}

/* Animación de brillo */
@keyframes buyShineRed{
  0%{
    transform: rotate(18deg) translateX(-220%);
  }
  100%{
    transform: rotate(18deg) translateX(620%);
  }
}

/* Mobile: más fluido y menos carga visual */
@media (max-width: 767px){
  .elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button{
    border-radius: 12px;
    padding: 13px 18px;
    animation-duration: 1.8s;
    box-shadow:
      0 8px 18px rgba(0, 113, 227, 1),
      0 3px 8px rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.18);
  }

  .elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button::before{
    animation-duration: 2.2s; /* brillo visible pero liviano */
    opacity: .9;
  }
}

/* Respeta usuarios con menor movimiento */
@media (prefers-reduced-motion: reduce){
  .elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button,
  .elementor-55 .elementor-element.elementor-element-7ebb669 .elementor-button::before{
    animation: none !important;
    transition: none !important;
  }
}/* End custom CSS */



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



/* Start custom CSS for button, class: .elementor-element-3aaf923 *//* ============================
   BOTÓN DE COMPRA (Elementor)
   Color base: #9E0000
   ============================ */

.elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button{
  --btn-red: #3523CC;
  --btn-red-dark:#0071E3;
  --btn-red-light:#0071E3;
  --btn-text: #ffffff;

  position: relative;
  overflow: hidden;
  isolation: isolate; /* asegura que el brillo quede dentro del botón */

  background: linear-gradient(180deg, var(--btn-red-light) 0%, var(--btn-red) 55%, var(--btn-red-dark) 100%);
  color: var(--btn-text) !important;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;

  /* Ajustes visuales */
  font-weight: 700;
  letter-spacing: 0.2px;
  padding: 14px 24px;

  /* Efectos */
  box-shadow:
    0 10px 22px rgba(158, 0, 0, 0.28),
    0 4px 10px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.20);

  transform: translateZ(0);
  transition:
    transform .12s ease,
    box-shadow .12s ease,
    filter .12s ease,
    background .12s ease;

  /* Pulso suave al cargar */
  animation: buyPulseRed 1.1s ease-in-out infinite;
}

/* Brillo diagonal premium */
.elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button::before{
  content: "";
  position: absolute;
  top: -20%;
  left: -35%;
  width: 28%;
  height: 140%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.16) 45%,
    rgba(255,255,255,0.38) 50%,
    rgba(255,255,255,0.16) 55%,
    rgba(255,255,255,0) 100%
  );
  transform: rotate(18deg) translateX(-180%);
  z-index: 1;
  pointer-events: none;
  animation: buyShineRed 2.8s linear infinite;
}

/* Capa superior para que el texto quede siempre bien */
.elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button .elementor-button-text,
.elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button .elementor-button-icon{
  position: relative;
  z-index: 2;
}

/* Hover (desktop) */
@media (hover: hover){
  .elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button:hover{
    transform: translateY(-2px) scale(1.02);
    filter: saturate(1.06);
    animation: none; /* pausa pulso para evitar conflicto visual */
    box-shadow:
      0 14px 28px rgba(158, 0, 0, 0.34),
      0 6px 14px rgba(0, 0, 0, 0.20),
      inset 0 1px 0 rgba(255, 255, 255, 0.25);
  }

  .elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button:hover::before{
    animation-duration: 1.2s; /* brillo más rápido al hover */
  }
}

/* Click / tap */
.elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button:active{
  transform: translateY(0) scale(0.985);
  box-shadow:
    0 6px 14px rgba(158, 0, 0, 0.22),
    0 2px 6px rgba(0, 0, 0, 0.16),
    inset 0 2px 6px rgba(0, 0, 0, 0.18);
}

/* Focus accesible (teclado) */
.elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button:focus,
.elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 3px rgba(255,255,255,0.75),
    0 0 0 6px rgba(158, 0, 0, 0.30),
    0 10px 22px rgba(158, 0, 0, 0.28);
}

/* Si el botón tiene icono */
.elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button .elementor-button-icon{
  transition: transform .2s ease;
}
@media (hover: hover){
  .elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button:hover .elementor-button-icon{
    transform: translateX(2px);
  }
}

/* Animación de pulso */
@keyframes buyPulseRed{
  0%{
    box-shadow:
      0 10px 22px rgba(99, 86, 204, 1),
      0 4px 10px rgba(99, 86, 204, 1),
      0 0 0 0 rgba(99, 86, 204, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
  70%{
    box-shadow:
      0 10px 22px rgba(0, 113, 227, 1),
      0 4px 10px rgba(0, 0, 0, 0.18),
      0 0 0 14px rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
  100%{
    box-shadow:
      0 10px 22px rgba(0, 113, 227, 1),
      0 4px 10px rgba(0, 113, 227, 1),
      0 0 0 0 rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
}

/* Animación de brillo */
@keyframes buyShineRed{
  0%{
    transform: rotate(18deg) translateX(-220%);
  }
  100%{
    transform: rotate(18deg) translateX(620%);
  }
}

/* Mobile: más fluido y menos carga visual */
@media (max-width: 767px){
  .elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button{
    border-radius: 12px;
    padding: 13px 18px;
    animation-duration: 1.8s;
    box-shadow:
      0 8px 18px rgba(0, 113, 227, 1),
      0 3px 8px rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.18);
  }

  .elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button::before{
    animation-duration: 2.2s; /* brillo visible pero liviano */
    opacity: .9;
  }
}

/* Respeta usuarios con menor movimiento */
@media (prefers-reduced-motion: reduce){
  .elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button,
  .elementor-55 .elementor-element.elementor-element-3aaf923 .elementor-button::before{
    animation: none !important;
    transition: none !important;
  }
}/* End custom CSS */





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



/* Start custom CSS for button, class: .elementor-element-d635764 *//* ============================
   BOTÓN DE COMPRA (Elementor)
   Color base: #9E0000
   ============================ */

.elementor-55 .elementor-element.elementor-element-d635764 .elementor-button{
  --btn-red: #3523CC;
  --btn-red-dark:#0071E3;
  --btn-red-light:#0071E3;
  --btn-text: #ffffff;

  position: relative;
  overflow: hidden;
  isolation: isolate; /* asegura que el brillo quede dentro del botón */

  background: linear-gradient(180deg, var(--btn-red-light) 0%, var(--btn-red) 55%, var(--btn-red-dark) 100%);
  color: var(--btn-text) !important;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;

  /* Ajustes visuales */
  font-weight: 700;
  letter-spacing: 0.2px;
  padding: 14px 24px;

  /* Efectos */
  box-shadow:
    0 10px 22px rgba(158, 0, 0, 0.28),
    0 4px 10px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.20);

  transform: translateZ(0);
  transition:
    transform .12s ease,
    box-shadow .12s ease,
    filter .12s ease,
    background .12s ease;

  /* Pulso suave al cargar */
  animation: buyPulseRed 1.1s ease-in-out infinite;
}

/* Brillo diagonal premium */
.elementor-55 .elementor-element.elementor-element-d635764 .elementor-button::before{
  content: "";
  position: absolute;
  top: -20%;
  left: -35%;
  width: 28%;
  height: 140%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.16) 45%,
    rgba(255,255,255,0.38) 50%,
    rgba(255,255,255,0.16) 55%,
    rgba(255,255,255,0) 100%
  );
  transform: rotate(18deg) translateX(-180%);
  z-index: 1;
  pointer-events: none;
  animation: buyShineRed 2.8s linear infinite;
}

/* Capa superior para que el texto quede siempre bien */
.elementor-55 .elementor-element.elementor-element-d635764 .elementor-button .elementor-button-text,
.elementor-55 .elementor-element.elementor-element-d635764 .elementor-button .elementor-button-icon{
  position: relative;
  z-index: 2;
}

/* Hover (desktop) */
@media (hover: hover){
  .elementor-55 .elementor-element.elementor-element-d635764 .elementor-button:hover{
    transform: translateY(-2px) scale(1.02);
    filter: saturate(1.06);
    animation: none; /* pausa pulso para evitar conflicto visual */
    box-shadow:
      0 14px 28px rgba(158, 0, 0, 0.34),
      0 6px 14px rgba(0, 0, 0, 0.20),
      inset 0 1px 0 rgba(255, 255, 255, 0.25);
  }

  .elementor-55 .elementor-element.elementor-element-d635764 .elementor-button:hover::before{
    animation-duration: 1.2s; /* brillo más rápido al hover */
  }
}

/* Click / tap */
.elementor-55 .elementor-element.elementor-element-d635764 .elementor-button:active{
  transform: translateY(0) scale(0.985);
  box-shadow:
    0 6px 14px rgba(158, 0, 0, 0.22),
    0 2px 6px rgba(0, 0, 0, 0.16),
    inset 0 2px 6px rgba(0, 0, 0, 0.18);
}

/* Focus accesible (teclado) */
.elementor-55 .elementor-element.elementor-element-d635764 .elementor-button:focus,
.elementor-55 .elementor-element.elementor-element-d635764 .elementor-button:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 3px rgba(255,255,255,0.75),
    0 0 0 6px rgba(158, 0, 0, 0.30),
    0 10px 22px rgba(158, 0, 0, 0.28);
}

/* Si el botón tiene icono */
.elementor-55 .elementor-element.elementor-element-d635764 .elementor-button .elementor-button-icon{
  transition: transform .2s ease;
}
@media (hover: hover){
  .elementor-55 .elementor-element.elementor-element-d635764 .elementor-button:hover .elementor-button-icon{
    transform: translateX(2px);
  }
}

/* Animación de pulso */
@keyframes buyPulseRed{
  0%{
    box-shadow:
      0 10px 22px rgba(99, 86, 204, 1),
      0 4px 10px rgba(99, 86, 204, 1),
      0 0 0 0 rgba(99, 86, 204, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
  70%{
    box-shadow:
      0 10px 22px rgba(0, 113, 227, 1),
      0 4px 10px rgba(0, 0, 0, 0.18),
      0 0 0 14px rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
  100%{
    box-shadow:
      0 10px 22px rgba(0, 113, 227, 1),
      0 4px 10px rgba(0, 113, 227, 1),
      0 0 0 0 rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }
}

/* Animación de brillo */
@keyframes buyShineRed{
  0%{
    transform: rotate(18deg) translateX(-220%);
  }
  100%{
    transform: rotate(18deg) translateX(620%);
  }
}

/* Mobile: más fluido y menos carga visual */
@media (max-width: 767px){
  .elementor-55 .elementor-element.elementor-element-d635764 .elementor-button{
    border-radius: 12px;
    padding: 13px 18px;
    animation-duration: 1.8s;
    box-shadow:
      0 8px 18px rgba(0, 113, 227, 1),
      0 3px 8px rgba(0, 113, 227, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.18);
  }

  .elementor-55 .elementor-element.elementor-element-d635764 .elementor-button::before{
    animation-duration: 2.2s; /* brillo visible pero liviano */
    opacity: .9;
  }
}

/* Respeta usuarios con menor movimiento */
@media (prefers-reduced-motion: reduce){
  .elementor-55 .elementor-element.elementor-element-d635764 .elementor-button,
  .elementor-55 .elementor-element.elementor-element-d635764 .elementor-button::before{
    animation: none !important;
    transition: none !important;
  }
}/* End custom CSS */




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




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



/* Start custom CSS *//* ===== S1 IMAGEN (desktop + móvil) ===== */
body.elementor-page-55{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,.22);
  transform: translateZ(0);
  animation: s1_wrap_float 6.8s ease-in-out infinite;
}

body.elementor-page-55 img{
  display: block;
  width: 100%;
  height: auto;
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform, filter;
  transition: transform .55s cubic-bezier(.22,.61,.36,1), filter .4s ease;
  filter: contrast(1.02) saturate(1.03);
}

/* Vignette */
body.elementor-page-55::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 45%,
    rgba(0,0,0,0) 35%,
    rgba(0,0,0,.14) 70%,
    rgba(0,0,0,.28) 100%);
}

/* Shine */
body.elementor-page-55::before{
  content: "";
  position: absolute;
  top: -130%;
  left: -34%;
  width: 38%;
  height: 320%;
  pointer-events: none;
  background: linear-gradient(
    95deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.10) 38%,
    rgba(255,255,255,.26) 50%,
    rgba(255,255,255,.10) 62%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-145%) skewX(-18deg);
}

/* Hover real solo en dispositivos con hover */
@media (hover: hover) and (pointer: fine){
  body.elementor-page-55:hover img{
    transform: scale(1.05);
    filter: contrast(1.06) saturate(1.06) brightness(1.02);
  }
  body.elementor-page-55:hover::before{
    animation: s1_img_shine .9s ease forwards;
  }
}

/* Móvil / touch */
@media (hover: none), (pointer: coarse){
  body.elementor-page-55{
    border-radius: 14px;
    animation-duration: 9s; /* más suave en móvil */
  }

  /* feedback táctil */
  body.elementor-page-55:active img{
    transform: scale(1.02);
    filter: contrast(1.04) saturate(1.04);
  }
}

/* Breakpoint Elementor móvil */
@media (max-width: 767px){
  body.elementor-page-55{ box-shadow: 0 8px 20px rgba(0,0,0,.2); }
}

@keyframes s1_wrap_float{
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-5px); }
}
@keyframes s1_img_shine{
  0%   { transform: translateX(-145%) skewX(-18deg); }
  100% { transform: translateX(235%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce){
  body.elementor-page-55, body.elementor-page-55 img{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */
