/* XIB quick contact v2.5: compact mobile dock and accessible animated call */
.xib-contact-actions{z-index:1000;display:flex;box-sizing:border-box;font-family:inherit}
.xib-contact-actions *{box-sizing:border-box}
.xib-contact-action{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 15px;border-radius:14px;text-decoration:none!important;font-weight:750;font-size:13px;line-height:1.2;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;white-space:nowrap}
.xib-contact-action:hover{filter:brightness(1.05);transform:translateY(-2px)}
.xib-contact-action:focus-visible{outline:3px solid #ffca55;outline-offset:3px}
.xib-contact-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:26px;height:26px}
.xib-contact-svg{display:block;width:23px;height:23px}
.xib-contact-message{background:#10344a;color:#fff!important}
.xib-contact-call{background:#ffbd30;color:#092d40!important;isolation:isolate}
.xib-contact-zalo{background:#0874d9;color:#fff!important}
.xib-contact-desktop{position:fixed;right:16px;bottom:22px;flex-direction:column;gap:8px}
.xib-contact-desktop .xib-contact-action{min-width:118px;box-shadow:0 6px 20px rgba(8,37,55,.18);border:1px solid rgba(255,255,255,.55)}
.xib-contact-mobile{display:none}
@keyframes xib-call-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,184,32,.4)}45%{box-shadow:0 0 0 7px rgba(255,184,32,0)}}
@keyframes xib-phone-ring{0%,82%,100%{transform:rotate(0)}85%{transform:rotate(-12deg)}89%{transform:rotate(12deg)}93%{transform:rotate(-7deg)}97%{transform:rotate(5deg)}}
.xib-contact-call{animation:xib-call-pulse 2.8s ease-in-out infinite}
.xib-contact-call .xib-contact-svg{animation:xib-phone-ring 3.6s ease-in-out infinite;transform-origin:center}
@media(max-width:780px){
 .xib-contact-desktop{display:none}
 .xib-contact-mobile{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;width:100%;gap:5px;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:rgba(255,255,255,.97);border-top:1px solid #e2eaf0;box-shadow:0 -4px 20px rgba(8,37,55,.12);backdrop-filter:blur(10px)}
 .xib-contact-mobile .xib-contact-action{width:100%;min-width:0;min-height:48px;padding:8px 3px;gap:5px;border-radius:11px;font-size:clamp(11px,3.2vw,14px);box-shadow:none}
 .xib-contact-mobile .xib-contact-icon{width:23px;height:23px}
 .xib-contact-mobile .xib-contact-svg{width:21px;height:21px}
 body:has(.xib-contact-mobile){padding-bottom:calc(69px + env(safe-area-inset-bottom))}
}
@media(max-width:350px){.xib-contact-mobile .xib-contact-action{gap:3px;font-size:11px}.xib-contact-mobile .xib-contact-svg{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.xib-contact-call,.xib-contact-call .xib-contact-svg{animation:none!important}.xib-contact-action{transition:none}}

/* v2.5.1: consistent fixed dock above all homepage sections and overlays. */
.xib-contact-actions{z-index:2147483000!important;visibility:visible!important;opacity:1!important}
@media(max-width:780px){.xib-contact-mobile{display:grid!important}.xib-contact-desktop{display:none!important}}
@media(min-width:781px){.xib-contact-desktop{display:flex!important}.xib-contact-mobile{display:none!important}}
