    /* Subtle tech grid background */
    .bg-tech {
      background-image: linear-gradient(to right, rgba(120,120,120,.08) 1px, transparent 2px),
                        linear-gradient(to bottom, rgba(120,120,120,.08) 1px, transparent 2px);
      background-size: 100px 100px;
    }
     /* Make the map fill its card */
  #deployMap { height: 100%; width: 100%; }
  .leaflet-container { border-radius: 1rem; }
  .leaflet-right{
    display: hidden !important;
  }

  /* ===== Tricolor glowy orbs ===== */
.flag-orbs {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

/* shared orb look */
.flag-orbs .orb {
  position: absolute;
  width: 28vmin;
  height: 28vmin;
  max-width: 420px;   /* safety on huge screens */
  max-height: 420px;
  border-radius: 9999px;
  filter: blur(18px);
  opacity: .18;                 /* subtle glow */
  mix-blend-mode: screen;       /* nice blend on dark/light */
  will-change: transform;
}

/* saffron */
.flag-orbs .orb--saffron {
  background: radial-gradient(circle at 35% 35%, #ff9933 0%, rgba(255,153,51,.8) 35%, rgba(255,153,51,0) 70%);
  box-shadow: 0 0 80px 30px rgba(255,153,51,.35);
  top: 10%;
  left: 5%;
  animation: driftA 16s ease-in-out infinite;
}

/* white (with subtle blue hint so it’s visible) */
.flag-orbs .orb--white {
  background: radial-gradient(circle at 40% 40%, rgba(255,255,255,.95) 0%, rgba(255,255,255,.75) 30%, rgba(208,227,255,.25) 55%, rgba(255,255,255,0) 70%);
  box-shadow: 0 0 90px 35px rgba(180,210,255,.25), 0 0 60px 20px rgba(255,255,255,.25) inset;
  top: 35%;
  right: 8%;
  animation: driftB 18s ease-in-out infinite;
}

/* green */
.flag-orbs .orb--green {
  background: radial-gradient(circle at 30% 30%, #138808 0%, rgba(19,136,8,.85) 35%, rgba(19,136,8,0) 70%);
  box-shadow: 0 0 90px 35px rgba(19,136,8,.35);
  bottom: 8%;
  left: 35%;
  animation: driftC 20s ease-in-out infinite;
}

/* motion paths (different timings & paths for natural feel) */
@keyframes driftA {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(12%, 8%) scale(1.08); }
  100% { transform: translate(0, 0) scale(1); }
}
@keyframes driftB {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(-14%, 6%) scale(1.06); }
  100% { transform: translate(0, 0) scale(1); }
}
@keyframes driftC {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(10%, -10%) scale(1.07); }
  100% { transform: translate(0, 0) scale(1); }
}

/* Dark mode: slightly stronger glow for contrast */
html.dark .flag-orbs .orb { opacity: .22; }

/* Pulsing halo */
.btn-cta {
  position: relative;
  isolation: isolate;            /* keeps halo under the button content */
}
.btn-cta .cta-halo {
  position: absolute;
  inset: -14px;                  /* extends around the button */
  border-radius: 1.25rem;        /* softly matches rounded-xl */
  background: rgba(249,115,22,.22); /* light saffron (Tailwind orange-500) */
  pointer-events: none;
  z-index: -1;                   /* behind the button */
  opacity: .22;                  /* soft */
  filter: blur(2px);             /* faint feathering; not a glow */
  transform-origin: center;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .btn-cta .cta-halo { animation: none !important; }
}
.whatsapp-float {
  position: fixed;
  bottom: 20px;
  right: 20px;
  border-radius: 50%;
  padding: 12px;
  z-index: 1000;
}
.whatsapp-float img {
  width: 40px;
  height: 40px;
}
.whatsapp-float:hover {
  background-color: #20b358;
}

