:root { --nova-contact-size: 52px; --nova-contact-gap: 16px; }
.nova-contact {
  position: fixed;
  bottom: calc(var(--nova-contact-gap) + env(safe-area-inset-bottom, 0px));
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--nova-contact-size);
  height: var(--nova-contact-size);
  border-radius: 50%;
  color: #fff;
  box-shadow: 0 4px 12px rgb(15 23 42 / 24%), 0 1px 3px rgb(15 23 42 / 16%);
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.nova-contact--whatsapp { left: calc(var(--nova-contact-gap) + env(safe-area-inset-left, 0px)); background: #25d366; }
.nova-contact--call { right: calc(var(--nova-contact-gap) + env(safe-area-inset-right, 0px)); background: #2563eb; }
.nova-contact:hover { transform: translateY(-3px); box-shadow: 0 7px 18px rgb(15 23 42 / 30%); }
.nova-contact:focus-visible { outline: 3px solid #0f172a; outline-offset: 4px; }
.nova-floating-contact[hidden], body:has(header button[aria-expanded="true"]) .nova-floating-contact { display: none; }
@media (min-width: 768px) { :root { --nova-contact-size: 56px; --nova-contact-gap: 24px; } }
@media (prefers-reduced-motion: reduce) { .nova-contact { transition: none; } .nova-contact:hover { transform: none; } }
