.whatsapp-float {
  position: fixed;
  right: calc(24px + env(safe-area-inset-right, 0px));
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  z-index: 30;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 60px;
  min-height: 60px;
  padding: 12px 20px 12px 14px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #087f5b;
  color: #fff;
  box-shadow: 0 6px 24px rgba(7, 62, 44, .24);
  font: 700 1rem/1 Lato, Arial, sans-serif;
  text-decoration: none;
  transition: background-color 160ms ease, transform 160ms ease;
}

.whatsapp-float svg { width: 30px; height: 30px; flex-shrink: 0; }
.whatsapp-float:hover { background: #066b4c; transform: translateY(-2px); }
.whatsapp-float:focus-visible { outline: 3px solid #202525; outline-offset: 4px; }
.lightbox-open .whatsapp-float { display: none; }

/* Leave room to reach the final footer links above the floating button. */
body > footer.footer, body > footer { padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px)); }

@media (max-width: 600px) {
  .whatsapp-float {
    right: calc(16px + env(safe-area-inset-right, 0px));
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    width: 56px;
    min-width: 56px;
    min-height: 56px;
    padding: 11px;
  }
  .whatsapp-float span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .whatsapp-float { transition: none; }
  .whatsapp-float:hover { transform: none; }
}

@media print {
  .whatsapp-float { display: none; }
  body > footer.footer, body > footer { padding-bottom: 24px; }
}
