.contact-buttons{position:fixed;bottom:32px;right:32px;z-index:400;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.cb-toggle{width:56px;height:56px;border-radius:50%;background:var(--color-accent);border:none;color:#ffffff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--glow-accent);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:2;animation:fabPulse 2s infinite}.cb-toggle:hover{transform:scale(1.1);box-shadow:var(--glow-accent-lg),0 0 0 8px rgba(3,105,161,.1)}.cb-toggle:active{transform:scale(.95)}.cb-toggle svg{transition:transform .3s ease}.contact-buttons.expanded .cb-toggle{background:#DC2626;box-shadow:0 4px 20px rgba(220,38,38,.35)}.contact-buttons.expanded .cb-toggle:hover{box-shadow:0 6px 28px rgba(220,38,38,.45),0 0 0 8px rgba(220,38,38,.1)}.contact-buttons.expanded .cb-toggle svg{transform:rotate(90deg)}@keyframes fabPulse{0%,to{box-shadow:var(--glow-accent),0 0 0 0 rgba(3,105,161,.35)}50%{box-shadow:var(--glow-accent),0 0 0 12px rgba(3,105,161,0)}}.cb-list{display:flex;flex-direction:column;gap:10px;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.contact-buttons.expanded .cb-list{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.cb-item{display:flex;align-items:center;gap:12px;padding:12px 20px 12px 16px;border-radius:28px;background:var(--color-surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);color:var(--color-secondary);text-decoration:none;font-family:var(--font-body);font-size:14px;font-weight:600;white-space:nowrap;box-shadow:var(--shadow-md);transition:all .3s cubic-bezier(.4,0,.2,1);opacity:0;transform:translateY(10px);animation:slideUp .3s forwards}.cb-item:hover{transform:translateX(-4px) translateY(0) scale(1.05);box-shadow:var(--shadow-lg);border-color:var(--color-accent);color:var(--color-accent)}.cb-item:active{transform:translateX(-4px) translateY(0) scale(.98)}.contact-buttons.expanded .cb-item:first-child{animation-delay:.05s}.contact-buttons.expanded .cb-item:nth-child(2){animation-delay:.1s}.contact-buttons.expanded .cb-item:nth-child(3){animation-delay:.15s}.contact-buttons.expanded .cb-item:nth-child(4){animation-delay:.2s}.contact-buttons.expanded .cb-item:nth-child(5){animation-delay:.25s}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.cb-item svg{flex-shrink:0;transition:transform .3s ease}.cb-item:hover svg{transform:scale(1.1)}.cb-label{font-family:var(--font-body);letter-spacing:.3px}.cb-item.wechat{background:rgba(9,187,7,.06);border-color:rgba(9,187,7,.25);color:#059669}.cb-item.wechat:hover{background:rgba(9,187,7,.12);border-color:rgba(9,187,7,.45);box-shadow:0 6px 24px rgba(9,187,7,.2);color:#059669}.cb-item.whatsapp{background:rgba(37,211,102,.06);border-color:rgba(37,211,102,.25);color:#16a34a}.cb-item.whatsapp:hover{background:rgba(37,211,102,.12);border-color:rgba(37,211,102,.45);box-shadow:0 6px 24px rgba(37,211,102,.2);color:#16a34a}.cb-item.zalo{background:rgba(0,112,240,.06);border-color:rgba(0,112,240,.25);color:#0070f0}.cb-item.zalo:hover{background:rgba(0,112,240,.12);border-color:rgba(0,112,240,.45);box-shadow:0 6px 24px rgba(0,112,240,.2);color:#0070f0}.cb-item.phone{background:rgba(234,88,12,.06);border-color:rgba(234,88,12,.25);color:#ea580c}.cb-item.phone:hover{background:rgba(234,88,12,.12);border-color:rgba(234,88,12,.45);box-shadow:0 6px 24px rgba(234,88,12,.2);color:#ea580c}.cb-item.email{background:rgba(124,58,237,.06);border-color:rgba(124,58,237,.25);color:#7c3aed}.cb-item.email:hover{background:rgba(124,58,237,.12);border-color:rgba(124,58,237,.45);box-shadow:0 6px 24px rgba(124,58,237,.2);color:#7c3aed}@media (max-width:768px){.contact-buttons{bottom:24px;right:24px;gap:10px}.cb-toggle{width:52px;height:52px}.cb-item{padding:10px 16px 10px 14px;font-size:13px}}@media (max-width:480px){.contact-buttons{bottom:20px;right:20px;gap:8px}.cb-toggle{width:48px;height:48px}.cb-item{padding:8px 14px 8px 12px;font-size:12px;gap:10px}.cb-item svg{width:18px;height:18px}}