.zbs-contact-float{position:fixed;left:max(18px,env(safe-area-inset-left));bottom:calc(96px + env(safe-area-inset-bottom));z-index:40;display:flex;flex-direction:column;gap:18px;margin:0;padding:0}
.consultation-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.zbs-contact-button{position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border:1px solid #bde4ff;border-radius:18px;background:linear-gradient(145deg,#43bcff,#096bff 70%,#005de8);color:#fff;text-decoration:none;box-shadow:0 7px 22px #096bff40,inset 0 1px 0 #ffffff65;transition:transform .2s,border-color .2s,box-shadow .2s;isolation:isolate}
.zbs-contact-button:hover{transform:translateY(-3px);border-color:#fff;box-shadow:0 8px 25px #096bff35}
.zbs-contact-button:focus-visible{outline:3px solid #3b9dff;outline-offset:4px}
.zbs-contact-zalo{background:linear-gradient(145deg,#49c7ff,#138cff 50%,#096bff);box-shadow:0 7px 24px #096bff45,inset 0 1px 0 #ffffff75}
.zbs-contact-zalo-word{font-family:Arial,sans-serif;font-size:19px;font-weight:700;font-style:italic;letter-spacing:-.6px;color:#fff;transform:rotate(-18deg);text-shadow:0 2px 6px #0059bd45;animation:zbs-zalo-nudge 5s ease-in-out infinite}
.zbs-contact-phone svg{display:block;width:25px;height:25px;fill:#fff;transform-origin:50% 55%;animation:zbs-phone-ring 5s ease-in-out 1.2s infinite}
.zbs-contact-tooltip{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(-4px);white-space:nowrap;border-radius:8px;background:#096bff;color:#fff;padding:8px 12px;font:500 14px/1.5 Arial,sans-serif;box-shadow:0 4px 14px #06152a20;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s}
.zbs-contact-button:hover .zbs-contact-tooltip,.zbs-contact-button:focus-visible .zbs-contact-tooltip{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
@media(max-width:650px){.zbs-contact-float{left:max(12px,env(safe-area-inset-left));bottom:calc(80px + env(safe-area-inset-bottom));gap:12px}.zbs-contact-button{width:48px;height:48px;border-radius:14px}.zbs-contact-zalo-word{font-size:17px}.zbs-contact-phone svg{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.zbs-contact-button,.zbs-contact-tooltip{transition:none}.zbs-contact-button:hover{transform:none}.zbs-contact-button::before,.zbs-contact-button::after,.zbs-contact-zalo-word,.zbs-contact-phone svg{animation:none}.zbs-contact-button::before,.zbs-contact-button::after{opacity:0}}
@media print{.zbs-contact-float{display:none}}
.zbs-contact-button::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(110deg,transparent 20%,#ffffff35 45%,transparent 65%) 0 0/240% 100%;pointer-events:none;animation:zbs-contact-shine 6s ease-in-out infinite}
.zbs-contact-button::after{content:"";position:absolute;inset:-3px;border:2px solid #2198ff;border-radius:inherit;z-index:-1;pointer-events:none;animation:zbs-contact-pulse 3.6s ease-out infinite}
.zbs-contact-phone::after{animation-delay:1.8s}
@keyframes zbs-contact-pulse{0%{transform:scale(1);opacity:0}12%{opacity:.55}65%,100%{transform:scale(1.4);opacity:0}}
@keyframes zbs-contact-shine{0%,65%{background-position:160% 0}90%,100%{background-position:-80% 0}}
@keyframes zbs-zalo-nudge{0%,65%,100%{transform:rotate(-18deg) translateY(0)}73%{transform:rotate(-12deg) translateY(-3px)}82%{transform:rotate(-21deg) translateY(0)}90%{transform:rotate(-16deg) translateY(-1px)}}
@keyframes zbs-phone-ring{0%,65%,100%{transform:rotate(0)}70%{transform:rotate(-14deg)}75%{transform:rotate(13deg)}80%{transform:rotate(-10deg)}85%{transform:rotate(7deg)}90%{transform:rotate(0)}}
@media(prefers-reduced-motion:reduce){.zbs-contact-button::before,.zbs-contact-button::after{animation:none;opacity:0}}
