.floating-contact-widget{position:fixed;bottom:90px;right:25px;z-index:9990;font-family:Montserrat,sans-serif}.floating-contact-box{position:absolute;bottom:72px;right:0;width:280px;background:#fff;border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.16),0 4px 12px rgba(0,0,0,.06);padding:12px;display:flex;flex-direction:column;gap:10px;opacity:0;visibility:hidden;transform:translateY(20px) scale(.9) rotate(-1deg);transform-origin:bottom right;transition:all .4s cubic-bezier(.34,1.56,.64,1);pointer-events:none;border:1px solid rgba(0,0,0,.07);overflow:hidden}.floating-contact-widget.is-active .floating-contact-box{opacity:1;visibility:visible;transform:translateY(0) scale(1) rotate(0);pointer-events:auto}.floating-contact-box::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(16,185,129,.06) 0,transparent 70%);pointer-events:none}.floating-contact-item{position:relative;display:flex;align-items:center;gap:14px;padding:11px 14px;background:#fff;border-radius:14px;text-decoration:none!important;border:1px solid #f1f5f9;overflow:hidden;transform:translateX(30px);opacity:0;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .3s ease,background-color .25s ease,box-shadow .25s ease,border-color .25s ease}.floating-contact-widget.is-active .floating-contact-item:nth-child(1){transform:translateX(0);opacity:1;transition-delay:60ms}.floating-contact-widget.is-active .floating-contact-item:nth-child(2){transform:translateX(0);opacity:1;transition-delay:.14s}.floating-contact-item::after{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);transform:skewX(-25deg);transition:none;pointer-events:none}.floating-contact-item:hover::after{left:140%;transition:left .75s ease-in-out}.floating-contact-item:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 14px rgba(0,0,0,.08);transform:translateY(-2px) scale(1.02)!important}.floating-contact-item .contact-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 10px rgba(0,0,0,.12);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}.floating-contact-item:hover .contact-icon{transform:scale(1.15) rotate(6deg);box-shadow:0 6px 16px rgba(0,0,0,.2)}.floating-contact-item .contact-icon.icon-hotline{background:linear-gradient(135deg,#28577f 0,#174b7a 55%,#0d3159 100%);color:#fff;font-size:19px}.floating-contact-item:hover .contact-icon.icon-hotline i{animation:phoneShake .6s ease infinite}.floating-contact-item .contact-icon.icon-zalo{background:linear-gradient(135deg,#0068ff 0,#0084ff 100%);color:#fff;overflow:hidden}.floating-contact-item:hover .contact-icon.icon-zalo svg{animation:zaloBounce .6s ease infinite alternate}.floating-contact-item .contact-info{display:flex;flex-direction:column;overflow:hidden;flex:1}.floating-contact-item .contact-title{font-size:15px;font-weight:700;color:#0f172a;line-height:1.3;transition:color .2s ease}.floating-contact-item:hover .contact-title{color:#174b7a}.floating-contact-item .contact-subtext{font-size:12.5px;color:#64748b;line-height:1.3;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.floating-contact-item::before{content:'\f105';font-family:'Font Awesome 5 Free','Font Awesome 6 Free';font-weight:900;position:absolute;right:12px;color:#94a3b8;font-size:14px;opacity:0;transform:translateX(-5px);transition:all .25s ease}.floating-contact-item:hover::before{opacity:1;transform:translateX(0);color:#0b4f2c}.floating-contact-btn{width:58px;height:58px;background:linear-gradient(135deg,#28577f 0,#174b7a 55%,#0d3159 100%);border-radius:50%;box-shadow:0 6px 24px rgba(11,79,44,.45);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .35s ease,box-shadow .35s ease;user-select:none;animation:contactBob 3.5s ease-in-out infinite}.floating-contact-btn:hover{transform:scale(1.12);box-shadow:0 8px 30px #174c7a97;animation-play-state:paused}.floating-contact-btn .contact-btn-icon{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:23px}.floating-contact-btn .contact-btn-icon .icon-open{opacity:1;transform:scale(1) rotate(0);transition:all .35s cubic-bezier(.34,1.56,.64,1);animation:contactRingVibrate 2.2s infinite ease-in-out}.floating-contact-btn .contact-btn-icon .icon-close{position:absolute;opacity:0;transform:scale(.4) rotate(-135deg);transition:all .35s cubic-bezier(.34,1.56,.64,1)}.floating-contact-widget.is-active .floating-contact-btn{background:linear-gradient(135deg,#e11d48 0,#be123c 100%);box-shadow:0 6px 25px rgba(225,29,72,.5);animation:none;transform:rotate(180deg)}.floating-contact-widget.is-active .floating-contact-btn .icon-open{opacity:0;transform:scale(.3) rotate(135deg);animation:none}.floating-contact-widget.is-active .floating-contact-btn .icon-close{opacity:1;transform:scale(1) rotate(0)}.contact-pulse-ring,.contact-pulse-ring-2{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);border-radius:50%;background:#174c7a66;pointer-events:none;animation:radarWave 2.4s infinite cubic-bezier(.215,.61,.355,1);z-index:-1}.contact-pulse-ring-2{animation-delay:1.2s;background:#174c7a44}.floating-contact-widget.is-active .contact-pulse-ring,.floating-contact-widget.is-active .contact-pulse-ring-2{display:none}@keyframes radarWave{0%{width:100%;height:100%;opacity:.8;transform:translate(-50%,-50%) scale(1)}100%{width:100%;height:100%;opacity:0;transform:translate(-50%,-50%) scale(1.6)}}@keyframes contactBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes contactRingVibrate{0%,100%{transform:rotate(0) scale(1)}10%,25%{transform:rotate(-18deg) scale(1.08)}18%,32%{transform:rotate(18deg) scale(1.08)}40%{transform:rotate(0) scale(1)}}@keyframes phoneShake{0%,100%{transform:rotate(0)}20%{transform:rotate(-16deg)}40%{transform:rotate(16deg)}60%{transform:rotate(-10deg)}80%{transform:rotate(10deg)}}@keyframes zaloBounce{0%{transform:scale(1)}100%{transform:scale(1.12)}}@media (max-width:768px){.floating-contact-widget{bottom:80px;right:18px}.floating-contact-box{width:255px;bottom:68px;padding:10px}.floating-contact-btn{width:52px;height:52px}.floating-contact-btn .contact-btn-icon{font-size:20px}}