/* Floating WhatsApp button. Self-contained: no variables from the page stylesheets. */
.wa {
  position: fixed;
  right: 16px;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  z-index: 10; /* under the sticky nav and its mobile menu */
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 56px;
  height: 56px;
  padding: 0;
  border-radius: 28px;
  background: #25d366;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(19, 38, 31, .28), 0 1px 3px rgba(19, 38, 31, .2);
  transition: transform .15s ease, box-shadow .15s ease;
}
.wa:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(19, 38, 31, .3), 0 2px 4px rgba(19, 38, 31, .2); }
.wa:focus-visible { outline: 3px solid #e3a92b; outline-offset: 3px; }
.wa svg { width: 56px; height: 56px; padding: 13px; flex: none; fill: #fff; }
.wa__label { display: none; padding-right: 20px; font: 600 15px/1 system-ui, -apple-system, 'Segoe UI', sans-serif; white-space: nowrap; }
@media (min-width: 768px) {
  .wa { right: 24px; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); }
  .wa__label { display: inline; }
  .wa svg { padding-right: 0; width: 44px; margin-left: 6px; }
}
@media (prefers-reduced-motion: reduce) { .wa { transition: none; } .wa:hover { transform: none; } }
@media print { .wa { display: none; } }
/* Phones: room under the footer so the floating button never sits on its last lines. */
@media (max-width: 767px) {
  .foot, .footer { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
}
