.elementor-112 .elementor-element.elementor-element-d3e6964{--display:flex;--position:absolute;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;top:0px;--z-index:100;}.elementor-112 .elementor-element.elementor-element-d3e6964:not(.elementor-motion-effects-element-type-background), .elementor-112 .elementor-element.elementor-element-d3e6964 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0C172400;}body:not(.rtl) .elementor-112 .elementor-element.elementor-element-d3e6964{left:0px;}body.rtl .elementor-112 .elementor-element.elementor-element-d3e6964{right:0px;}.elementor-112 .elementor-element.elementor-element-ee0f36b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.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-112 .elementor-element.elementor-element-2a8cf32 img{width:30%;}.elementor-112 .elementor-element.elementor-element-b1ead31{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-112 .elementor-element.elementor-element-5f07680 .elementor-menu-toggle{margin:0 auto;}.elementor-112 .elementor-element.elementor-element-5f07680 .elementor-nav-menu .elementor-item{font-family:"Plus Jakarta Sans", Sans-serif;font-size:14px;font-weight:400;}.elementor-112 .elementor-element.elementor-element-5f07680 .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;}.elementor-112 .elementor-element.elementor-element-5f07680 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-112 .elementor-element.elementor-element-5f07680 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-112 .elementor-element.elementor-element-5f07680 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-112 .elementor-element.elementor-element-5f07680 .elementor-nav-menu--main .elementor-item:focus{color:#49BFFB;fill:#49BFFB;}.elementor-112 .elementor-element.elementor-element-5f07680 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#49BFFB;}.elementor-112 .elementor-element.elementor-element-5c859c0{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.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-112 .elementor-element.elementor-element-66bbecf .elementor-button{background-color:#61CE7000;font-family:"Plus Jakarta Sans", Sans-serif;font-size:14px;font-weight:600;fill:#0C1724;color:#0C1724;border-style:solid;border-width:2px 2px 2px 2px;border-radius:50px 50px 50px 50px;}.elementor-112 .elementor-element.elementor-element-66bbecf .elementor-button:hover, .elementor-112 .elementor-element.elementor-element-66bbecf .elementor-button:focus{color:#FFFFFF;}.elementor-112 .elementor-element.elementor-element-66bbecf .elementor-button:hover svg, .elementor-112 .elementor-element.elementor-element-66bbecf .elementor-button:focus svg{fill:#FFFFFF;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-112 .elementor-element.elementor-element-ee0f36b{--width:25%;}.elementor-112 .elementor-element.elementor-element-b1ead31{--width:50%;}.elementor-112 .elementor-element.elementor-element-5c859c0{--width:25%;}}/* Start custom CSS for button, class: .elementor-element-66bbecf *//* ===== Ajustes rápidos ===== */
:root{
  --btn-c1:#49bffb;       /* color 1 */
  --btn-c2:#3fabfc;       /* color 2 */
  --btn-ring:2.2px;       /* grosor del outline (1.2–3px) */
  --speed-fill:6s;        /* velocidad del brillo del relleno */
  --speed-outline:2s;     /* velocidad del borde (más vivo) */
  --fade:.35s;
  --ease:cubic-bezier(.2,.8,.2,1);
}

/* Base limpia del botón (sin fondo/borde de Elementor) */
.btn-gradient .elementor-button,
.elementor-button.btn-gradient{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent !important;
  border:0 !important;
  color:#fff;
  border-radius:14px;
  overflow:hidden;
  isolation:isolate;
  transition:transform .2s ease, color var(--fade) var(--ease);
}
.btn-gradient .elementor-button *, .elementor-button.btn-gradient *{
  position:relative; z-index:2;  /* texto por encima */
}

/* ========= RELLENO: degradado BASE + brillo que se mueve ========= */
.btn-gradient .elementor-button::before,
.elementor-button.btn-gradient::before{
  content:"";
  position:absolute; inset:0;
  border-radius:inherit;
  z-index:0; pointer-events:none;

  /* 1) BASE: degradado fijo (se ve SIEMPRE) */
  /* 2) SHEEN: elíptico, súper difuso, se desplaza en diagonal */
  background:
    linear-gradient(120deg, var(--btn-c1) 0%, var(--btn-c2) 100%),
    radial-gradient(140% 190% at 0% 50%,
      rgba(255,255,255,0)   0%,
      rgba(255,255,255,.12) 36%,
      rgba(255,255,255,.24) 48%,
      rgba(255,255,255,.12) 60%,
      rgba(255,255,255,0)   72%
    );
  /* capa base / capa sheen */
  background-size: 100% 100%, 260% 260%;
  background-repeat: no-repeat, no-repeat;
  background-position: 50% 50%, -30% 50%;
  animation: sheen-move var(--speed-fill) linear infinite;

  opacity:1;
  transition: opacity var(--fade) var(--ease);
}

/* ========= OUTLINE: mismo patrón, recortado a anillo (oculto al inicio) ========= */
.btn-gradient .elementor-button::after,
.elementor-button.btn-gradient::after{
  content:"";
  position:absolute; inset:0;
  border-radius:inherit;
  padding:var(--btn-ring);     /* grosor del anillo */
  z-index:1; pointer-events:none;

  /* usamos SOLO el degradado lineal para el borde + movimiento continuo */
  background: linear-gradient(120deg, var(--btn-c1) 0%, var(--btn-c2) 100%);
  background-size: 200% 200%;
  background-position: 0% 0%;
  animation: outline-flow var(--speed-outline) linear infinite;

  /* recorte a anillo (estable en Chrome/Safari) */
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask-composite: exclude;

  opacity:0;
  transition: opacity var(--fade) var(--ease);
}

/* ========= Hover: sólo outline (relleno off) ========= */
.btn-gradient .elementor-button:hover::before,
.elementor-button.btn-gradient:hover::before{ opacity:0; }  /* oculta relleno */
.btn-gradient .elementor-button:hover::after,
.elementor-button.btn-gradient:hover::after{ opacity:1; }   /* muestra borde */
.btn-gradient .elementor-button:hover,
.elementor-button.btn-gradient:hover{ transform: translateY(-1px); }

/* ========= Animaciones ========= */
/* Brillo del relleno: se desplaza sin “rebote” */
@keyframes sheen-move{
  from { background-position: 50% 50%, -30% 50%; }
  to   { background-position: 50% 50%, 130% 50%; }
}
/* Borde: degradado corre en loop continuo */
@keyframes outline-flow{
  from { background-position: 0% 0%; }
  to   { background-position: 200% 200%; }
}/* End custom CSS */