/* Local override on top of the sanitized Elementor CSS bundle.
   Loaded AFTER all /assets/*.css via <link> ordering. */

/* Hide the original JS-driven joinchat widget remnants. */
.joinchat, .joinchat__button, .joinchat_app { display: none !important; }

/* Defensive: any element that ended up empty after script removal. */
[id^="elementor-popup"], .elementor-lightbox { display: none !important; }

/* Long URLs in footer don't blow out the layout. */
a { word-break: break-word; }


/* ---------------------------------------------------------------
   WhatsApp floating button — pure HTML/CSS replacement for joinchat
   --------------------------------------------------------------- */
.wa-fab{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-family:inherit;
  -webkit-tap-highlight-color:transparent;
}
.wa-fab:hover{ text-decoration:none; }

.wa-fab__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:60px;
  height:60px;
  border-radius:50%;
  background:#25D366;
  box-shadow:0 4px 16px rgba(20,40,30,.25),
             0 1px 3px rgba(0,0,0,.15);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  animation:wa-pulse 2.4s ease-out 1.5s 2;
}
/* Force-override any Elementor rules that strip fill/size on inline SVG. */
.wa-fab__svg{
  width:32px !important;
  height:32px !important;
  display:block !important;
  fill:#fff !important;
  stroke:none !important;
}
.wa-fab__svg path{ fill:#fff !important; }
.wa-fab:hover .wa-fab__icon{
  background:#1ebe5d;
  transform:translateY(-2px) scale(1.04);
  box-shadow:0 6px 22px rgba(20,40,30,.32),
             0 2px 4px rgba(0,0,0,.18);
}
.wa-fab:focus-visible .wa-fab__icon{
  outline:3px solid #2d5a3d;
  outline-offset:3px;
}

/* Soft pulse on first paint to draw the eye, then stops. */
@keyframes wa-pulse{
  0%{ box-shadow:0 4px 16px rgba(20,40,30,.25), 0 0 0 0 rgba(37,211,102,.6); }
  70%{ box-shadow:0 4px 16px rgba(20,40,30,.25), 0 0 0 18px rgba(37,211,102,0); }
  100%{ box-shadow:0 4px 16px rgba(20,40,30,.25), 0 0 0 0 rgba(37,211,102,0); }
}
@media (prefers-reduced-motion: reduce){
  .wa-fab__icon{ animation:none !important; }
  .wa-fab:hover .wa-fab__icon{ transform:none; }
}

/* Tooltip bubble — desktop only. */
.wa-fab__bubble{
  position:relative;
  background:#fff;
  color:#1f3f2c;
  padding:10px 14px;
  border-radius:22px;
  font-size:14px;
  font-weight:500;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:0 3px 14px rgba(20,40,30,.18),
             0 1px 2px rgba(0,0,0,.08);
  max-width:240px;
}
.wa-fab__bubble::after{
  content:"";
  position:absolute;
  top:50%;
  right:-6px;
  transform:translateY(-50%) rotate(45deg);
  width:12px;
  height:12px;
  background:#fff;
  box-shadow:1px -1px 2px rgba(0,0,0,.04);
}

/* Collapse the bubble on small screens — icon only. */
@media (max-width: 640px){
  .wa-fab{ right:14px; bottom:14px; }
  .wa-fab__bubble{ display:none; }
  .wa-fab__icon{ width:54px; height:54px; }
}
