/* KINFOMEDIA contact widget: floating Call / WhatsApp / SMS buttons */
.km-fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:9999;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.km-fab a{position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#fff;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.35);border:2px solid rgba(255,255,255,.35);transition:transform .15s ease,box-shadow .15s ease}
.km-fab a:hover,.km-fab a:focus-visible{transform:translateY(-3px) scale(1.06);box-shadow:0 12px 28px rgba(0,0,0,.45);outline:none}
.km-fab a:focus-visible{outline:3px solid #fff;outline-offset:2px}
.km-fab svg{width:26px;height:26px;fill:currentColor}
.km-fab .km-fab-call{background:#0a84c6}
.km-fab .km-fab-sms{background:#f0a23a;color:#1b1200}
.km-fab .km-fab-wa{background:#25d366}
.km-fab a span{position:absolute;right:62px;top:50%;transform:translateY(-50%);white-space:nowrap;background:#06182b;color:#fff;font:600 .8rem/1 "DM Sans",system-ui,sans-serif;padding:8px 11px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .15s ease}
.km-fab a:hover span,.km-fab a:focus-visible span{opacity:1}
.km-fab .km-fab-wa::before{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid #25d366;animation:kmfab 2.4s ease-out infinite}
@keyframes kmfab{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.km-fab .km-fab-wa::before{animation:none}}
@media (max-width:720px){.km-fab{right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));gap:10px}.km-fab a{width:48px;height:48px}.km-fab a span{display:none}}
.dlg-footer-contact .km-footer-phone{font-weight:700}
