.tn-wa {
  position: fixed;
  inset-inline-end: max(1rem, env(safe-area-inset-right));
  inset-block-end: max(1rem, env(safe-area-inset-bottom));
  z-index: var(--tn-z-overlay, 200);
  display: inline-flex; align-items: center; justify-content: center;
  inline-size: 3.5rem; block-size: 3.5rem; padding: 0;
  border-radius: 50%;
  background: #1faa59; color: #fff; text-decoration: none;
  box-shadow: 0 6px 20px rgba(0, 10, 28, .28);
  transition: transform .2s cubic-bezier(.2,.8,.2,1);
}
.tn-wa svg { inline-size: 1.75rem; block-size: 1.75rem; }
.tn-wa:focus-visible { outline: 2px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 5px #000a1c; }
@media (hover: hover) and (pointer: fine) { .tn-wa:hover { transform: translateY(-2px); } }
/* O nome acessível vem do aria-label; o rótulo em texto fica só para leitores de tela. */
.tn-wa__label { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
