#floating-contact {
  position:fixed;
  right:max(22px,env(safe-area-inset-right));
  bottom:calc(22px + env(safe-area-inset-bottom));
  z-index:900;
  display:flex;
  flex-direction:column;
  gap:10px;
  direction:ltr;
}
#floating-contact a {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  min-width:52px;
  width:52px;
  height:52px;
  padding:0;
  border:1px solid transparent;
  border-radius:999px;
  text-decoration:none;
  font:700 14px/1.3 'DM Sans',system-ui,sans-serif;
  box-shadow:0 5px 18px #082d3126;
  transition:transform .15s ease,box-shadow .15s ease;
}
#floating-contact .floating-contact-whatsapp { background:#157943; color:#fff; border-color:#ffffff55; }
#floating-contact .floating-contact-email { background:#fff; color:#174a34; border-color:#d8c29a; }
#floating-contact svg { width:23px; height:23px; flex-shrink:0; }
#floating-contact span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#floating-contact a:hover { transform:translateY(-2px); box-shadow:0 8px 22px #082d3138; }
#floating-contact a:focus-visible { outline:3px solid #e3c58c; outline-offset:4px; }
@media(max-width:640px) {
  #floating-contact { right:max(14px,env(safe-area-inset-right)); bottom:calc(16px + env(safe-area-inset-bottom)); gap:9px; }
  #floating-contact a { min-width:48px; width:48px; height:48px; padding:0; justify-content:center; }
}
@media(prefers-reduced-motion:reduce) { #floating-contact a { transition:none; } }
@media print { #floating-contact { display:none; } }
