.elementor-3607 .elementor-element.elementor-element-3b4cdb0{--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;--overlay-opacity:0;}.elementor-3607 .elementor-element.elementor-element-3b4cdb0:not(.elementor-motion-effects-element-type-background), .elementor-3607 .elementor-element.elementor-element-3b4cdb0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#02010100;}.elementor-3607 .elementor-element.elementor-element-3b4cdb0::before, .elementor-3607 .elementor-element.elementor-element-3b4cdb0 > .elementor-background-video-container::before, .elementor-3607 .elementor-element.elementor-element-3b4cdb0 > .e-con-inner > .elementor-background-video-container::before, .elementor-3607 .elementor-element.elementor-element-3b4cdb0 > .elementor-background-slideshow::before, .elementor-3607 .elementor-element.elementor-element-3b4cdb0 > .e-con-inner > .elementor-background-slideshow::before, .elementor-3607 .elementor-element.elementor-element-3b4cdb0 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#02010100;--background-overlay:'';}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{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-3607 .elementor-element.elementor-element-c8495ee > .elementor-widget-container{padding:6px 0px 0px 0px;}body:not(.rtl) .elementor-3607 .elementor-element.elementor-element-c8495ee{right:4%;}body.rtl .elementor-3607 .elementor-element.elementor-element-c8495ee{left:4%;}.elementor-3607 .elementor-element.elementor-element-c8495ee{bottom:4%;--icon-box-icon-margin:15px;}.elementor-3607 .elementor-element.elementor-element-c8495ee.elementor-view-stacked .elementor-icon{background-color:#D9FFE3;}.elementor-3607 .elementor-element.elementor-element-c8495ee.elementor-view-framed .elementor-icon, .elementor-3607 .elementor-element.elementor-element-c8495ee.elementor-view-default .elementor-icon{fill:#D9FFE3;color:#D9FFE3;border-color:#D9FFE3;}.elementor-3607 .elementor-element.elementor-element-c8495ee .elementor-icon{font-size:47px;}.elementor-3607 .elementor-element.elementor-element-c8495ee .elementor-icon-box-title, .elementor-3607 .elementor-element.elementor-element-c8495ee .elementor-icon-box-title a{font-family:"Times New Roman", Sans-serif;font-size:22px;font-weight:400;}.elementor-3607 .elementor-element.elementor-element-c8495ee .elementor-icon-box-title{color:#494949;}.elementor-3607 .elementor-element.elementor-element-c8495ee .elementor-icon-box-description{font-family:"Roboto", Sans-serif;font-weight:400;}#elementor-popup-modal-3607 .dialog-widget-content{animation-duration:1.2s;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-3607 .dialog-message{width:0px;height:0px;align-items:flex-start;}#elementor-popup-modal-3607{justify-content:flex-end;align-items:center;}@media(max-width:1024px){.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-size:var( --e-global-typography-primary-font-size );}.elementor-3607 .elementor-element.elementor-element-c8495ee .elementor-icon-box-title, .elementor-3607 .elementor-element.elementor-element-c8495ee .elementor-icon-box-title a{font-size:18px;}}/* Start custom CSS for icon-box, class: .elementor-element-c8495ee *//* Botón flotante WhatsApp */
.whatsapp-btn {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #25D366;           /* color WhatsApp */
  color: #fff;                    /* el icono hereda este color */
  /* CENTRADO PERFECTO DEL ICONO */
  display: flex;                  /* en lugar de grid */
  align-items: center;
  justify-content: center;
  line-height: 0;                 /* elimina línea de base del icono */
  font-size: 28px;                /* tamaño base del icono (em) */
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
  z-index: 9999;
  transform: translateZ(0);
  animation: wa-wiggle 6s ease-in-out infinite, wa-pop .6s ease-out both;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;  /* quita halo azul en móvil */
}

/* Asegura tamaño y bloque del icono (SVG/IMG/FA) */
.whatsapp-btn > svg,
.whatsapp-btn > img,
.whatsapp-btn > i{
  display: block;
  width: 1.4em;                   /* ajusta al gusto */
  height: 1.4em;
  line-height: 1;                 /* para iconos de fuente */
  /* Si tu SVG tiene aire arriba, descomenta:
  transform: translateY(1px);
  */
}

/* Anillo de pulso */
.whatsapp-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(37,211,102,.7);
  animation: wa-ring 2.2s ease-out infinite;
  pointer-events: none;           /* no intercepta el click */
}

/* Halo suave */
.whatsapp-btn::before {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  box-shadow: 0 0 0 8px rgba(37,211,102,.18);
  opacity: 0;
  animation: wa-glow 2.2s ease-out infinite;
  pointer-events: none;           /* no intercepta el click */
}

/* Hover/Focus */
.whatsapp-btn:hover,
.whatsapp-btn:focus {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 14px 28px rgba(0,0,0,.28);
  animation-play-state: paused;   /* pausa el wiggle, mantiene ring/glow */
}

/* Keyframes */
@keyframes wa-pop {
  0% { transform: scale(.6); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes wa-ring {
  0% { transform: scale(1); opacity: .7; }
  80% { transform: scale(1.8); opacity: 0; }
  100% { opacity: 0; }
}
@keyframes wa-glow {
  0% { opacity: .0; transform: scale(1); }
  20% { opacity: .8; }
  80% { opacity: 0; transform: scale(1.4); }
  100% { opacity: 0; }
}
@keyframes wa-wiggle {
  0%, 70% { transform: rotate(0deg); }
  74% { transform: rotate(-12deg); }
  78% { transform: rotate(12deg); }
  82% { transform: rotate(-8deg); }
  86% { transform: rotate(8deg); }
  90%, 100% { transform: rotate(0deg); }
}

/* Respeta preferencias de movimiento reducido */
@media (prefers-reduced-motion: reduce) {
  .whatsapp-btn, .whatsapp-btn::before, .whatsapp-btn::after {
    animation: none !important;
  }
}







/* Solo el botón tiene fondo; todo lo interno, transparente y sin bordes */
.whatsapp-btn{
  background:#25D366 !important;
  border:0 !important;
  outline:0 !important;
  position:fixed; right:24px; bottom:24px;
  width:64px; height:64px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  line-height:0;
}

.whatsapp-btn *,                /* cualquier hijo dentro */
.whatsapp-btn .elementor-icon,
.whatsapp-btn .elementor-icon svg,
.whatsapp-btn svg,
.whatsapp-btn img,
.whatsapp-btn i{
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  display:block;
}

/* centra el icono por si el viewBox trae aire */
.whatsapp-btn > svg,
.whatsapp-btn > img,
.whatsapp-btn > i{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:1.6em; height:1.6em;
}

/* por si el popup aún mete caja */
.elementor-popup-modal .dialog-message,
.elementor-popup-modal .dialog-widget-content{
  background:transparent !important;
  padding:0 !important; border:0 !important; box-shadow:none !important;
}

/* quita cualquier foco/borde cuadrado */
.whatsapp-btn:focus,
.whatsapp-btn:focus-visible{
  outline:none !important; border:0 !important; box-shadow:none !important;
}/* End custom CSS */
/* Start custom CSS *//* Quita fondo/padding del contenedor del popup */
.elementor-popup-modal .dialog-message,
.elementor-popup-modal .dialog-widget-content{
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Coloca el popup como burbuja fija abajo a la derecha */
.elementor-popup-modal{
  left: auto !important; right: 24px !important;
  top: auto !important; bottom: 24px !important;
  transform: none !important;
  width: auto !important; height: auto !important;
}

/* Sin espacios en la sección interna */
.elementor-popup-modal .elementor-section,
.elementor-popup-modal .elementor-container,
.elementor-popup-modal .elementor-widget-wrap{
  padding: 0 !important; margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Por si algún tema inyecta overlay */
.dialog-widget-overlay{ display: none !important; }/* End custom CSS */