/* ======= Floating contact menu ======= */
/* Anchor box (54px tall) keeps the fan-out buttons in place; the toggle pill
   itself grows leftward from the right edge so the label fits. */
.floating-contact{position:fixed;right:15px;bottom:15px;width:54px;height:54px;z-index:997;}

/* Toggle = "Contact" pill (label left, icon right) */
.floating-contact .fc-toggle{position:absolute;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;height:42px;width:auto;min-width:120px;padding:0 20px;white-space:nowrap;border:none;border-radius:8px;background:#c211a0;color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.28);transition:transform .3s ease, background .3s ease;}
.floating-contact .fc-toggle:hover{transform:scale(1.04);}
.floating-contact.open .fc-toggle{background:#a00d85;}
.floating-contact .fc-label{line-height:1;}
.floating-contact .fc-ico{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;}
.floating-contact .fc-toggle i{position:absolute;font-size:18px;line-height:1;transition:opacity .25s ease, transform .25s ease;}
.floating-contact .fc-ico-close{opacity:0;transform:rotate(-90deg) scale(.6);}
.floating-contact.open .fc-ico-open{opacity:0;transform:rotate(90deg) scale(.6);}
.floating-contact.open .fc-ico-close{opacity:1;transform:rotate(0) scale(1);}

/* Pulse to draw attention while collapsed */
.floating-contact .fc-toggle{animation:fc-pulse 2.2s infinite;}
.floating-contact.open .fc-toggle{animation:none;}
@keyframes fc-pulse{0%{box-shadow:0 4px 14px rgba(0,0,0,.28),0 0 0 0 rgba(194,17,160,.5);}70%{box-shadow:0 4px 14px rgba(0,0,0,.28),0 0 0 14px rgba(194,17,160,0);}100%{box-shadow:0 4px 14px rgba(0,0,0,.28),0 0 0 0 rgba(194,17,160,0);}}

/* ======= Back-to-top = "Go on top" pill (sits ABOVE the contact pill) ======= */
.back-to-top{right:15px;bottom:69px;width:auto;min-width:120px;height:42px;gap:8px;padding:0 20px;white-space:nowrap;border-radius:8px;background:#000;border:none;box-shadow:0 4px 14px rgba(0,0,0,.28);color:#fff;font-size:14px;font-weight:600;}
.back-to-top .btt-label{line-height:1;}
.back-to-top i{font-size:18px;color:#fff;line-height:1;}
.back-to-top:hover{background:#1a1a1a;color:#fff;}
.back-to-top:hover i{color:#fff;}

/* Fan-out action buttons */
.floating-contact .fc-btn{position:absolute;right:3px;bottom:3px;z-index:1;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;color:#fff;font-size:20px;text-decoration:none;box-shadow:0 4px 12px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translate(0,0) scale(.2);transition:transform .35s cubic-bezier(.68,-.55,.27,1.55),opacity .3s ease,visibility .35s;}
.floating-contact.open .fc-btn{opacity:1;visibility:visible;transform:translate(var(--fc-x,0),var(--fc-y,0)) scale(1);}
.floating-contact .fc-btn:hover{color:#fff;filter:brightness(1.08);}
.floating-contact .fc-phone{background:#1aa64b;}
.floating-contact .fc-zalo{background:#0068FF;}
.floating-contact .fc-whatsapp{background:#25D366;}
.floating-contact .fc-email{background:#d6322f;}
.floating-contact .fc-zalo-text{font-weight:700;font-size:14px;line-height:1;letter-spacing:.2px;}

/* Tooltip (appears to the left on hover) */
.floating-contact .fc-btn::after{content:attr(data-fc-tip);position:absolute;right:58px;top:50%;transform:translateY(-50%);white-space:nowrap;background:rgba(33,37,41,.92);color:#fff;font-size:13px;line-height:1;padding:7px 10px;border-radius:4px;opacity:0;visibility:hidden;transition:opacity .2s ease;pointer-events:none;}
.floating-contact .fc-btn::before{content:"";position:absolute;right:53px;top:50%;transform:translateY(-50%);border-width:5px 0 5px 5px;border-style:solid;border-color:transparent transparent transparent rgba(33,37,41,.92);opacity:0;visibility:hidden;transition:opacity .2s ease;}
.floating-contact.open .fc-btn:hover::after,.floating-contact.open .fc-btn:hover::before{opacity:1;visibility:visible;}

@media (max-width:575px){
  .floating-contact{right:12px;bottom:12px;width:50px;height:50px;}
  .floating-contact .fc-toggle{height:40px;min-width:110px;padding:0 16px;gap:7px;font-size:13px;border-radius:7px;}
  .floating-contact .fc-toggle i{font-size:16px;}
  .floating-contact .fc-btn{width:44px;height:44px;font-size:18px;right:3px;bottom:3px;}
  .back-to-top{right:12px;bottom:62px;min-width:110px;height:40px;padding:0 16px;gap:7px;font-size:13px;border-radius:7px;}
  .back-to-top i{font-size:16px;}
}
