.sf-contact-shortcuts { position:fixed; right:24px; bottom:calc(86px + env(safe-area-inset-bottom, 0px)); z-index:19; display:flex; flex-direction:column; align-items:center; gap:12px; }
.sf-contact-shortcut { position:relative; display:grid; place-items:center; width:48px; height:48px; border:2px solid #fff; border-radius:50%; color:#fff; box-shadow:0 3px 12px #182a4526; text-decoration:none; transition:transform .18s,box-shadow .18s; }
.sf-contact-shortcut--phone { background:#ed253d; }
.sf-contact-shortcut--messenger, .sf-contact-shortcut--zalo { background:#fff; }
.sf-contact-shortcut svg { width:27px; height:27px; }
.sf-contact-brand-icon { display:block; width:100%; height:100%; object-fit:contain; border-radius:inherit; }
.sf-contact-shortcut-label { position:absolute; right:calc(100% + 10px); padding:7px 11px; border-radius:8px; background:#222b36; color:#fff; font-size:13px; line-height:1.4; white-space:nowrap; opacity:0; visibility:hidden; pointer-events:none; }
.sf-contact-shortcut:focus-visible { outline:2px solid #222b36; outline-offset:4px; }
.sf-contact-shortcut:focus-visible .sf-contact-shortcut-label { visibility:visible; opacity:1; }
.sf-modal-open .sf-contact-shortcuts { display:none; }
@media (hover:hover) { .sf-contact-shortcut:hover { transform:translateY(-2px); box-shadow:0 5px 16px #182a4538; } .sf-contact-shortcut:hover .sf-contact-shortcut-label { visibility:visible; opacity:1; } }
@media (max-width:760px) { .sf-contact-shortcuts { right:16px; bottom:calc(74px + env(safe-area-inset-bottom, 0px)); gap:10px; } .sf-contact-shortcut { width:44px; height:44px; } .sf-contact-shortcut svg { width:25px; height:25px; } }
@media (prefers-reduced-motion:reduce) { .sf-contact-shortcut { transition:none; } }
