/* ValoHosting branded live-chat button — mirrors valohosting.com styling.
   Uses the same --accent/--on-accent/--shadow-md CSS vars already defined
   by valohosting-custom.css (loaded before this file). */
.live-chat{
  position:fixed; bottom:24px; right:24px; z-index:1050;
  display:flex; align-items:center; gap:10px;
  background:var(--bs-primary); color:#fff;
  font-size:15px; font-weight:600; font-family:'Inter', sans-serif;
  padding:14px 22px; border-radius:100px; border:none; cursor:pointer;
  box-shadow:0 8px 24px -6px var(--bs-primary), 0 4px 12px rgba(0,0,0,.15);
  transition:transform .15s ease, background .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.live-chat:hover{ transform:translateY(-2px) scale(1.03); }
.live-chat:active{ transform:scale(0.95); }
.live-chat svg{ flex-shrink:0; }
.live-chat .spinner{
  width:16px; height:16px; border-radius:50%; flex-shrink:0;
  border:2px solid currentColor; border-top-color:transparent;
  animation:vh-chat-spin .7s linear infinite; display:none;
}
.live-chat.is-loading .spinner{ display:inline-block; }
.live-chat.is-loading{ pointer-events:none; opacity:.85; }
.live-chat.is-loading .chat-icon{ display:none; }
.live-chat.chat-open{ opacity:0; pointer-events:none; transform:translateY(12px); }
.live-chat.nudge{ animation:vh-chat-nudge .9s ease 1; }
@keyframes vh-chat-spin{ to{ transform:rotate(360deg); } }
@keyframes vh-chat-nudge{
  0%,100%{ transform:translateY(0); }
  20%{ transform:translateY(-7px); }
  40%{ transform:translateY(0); }
  60%{ transform:translateY(-4px); }
  80%{ transform:translateY(0); }
}
@media(max-width:560px){ .live-chat span.chat-label{ display:none; } .live-chat{ padding:15px; } }
/* toast (shared "connecting..." feedback) */
.vh-toast{
  position:fixed; left:50%; bottom:28px; transform:translate(-50%, 20px); z-index:1060;
  background:var(--bs-body-color); color:var(--bs-body-bg); font-size:14.5px; font-weight:500;
  padding:13px 22px; border-radius:12px; box-shadow:0 24px 60px -20px rgba(0,0,0,.4);
  opacity:0; pointer-events:none; transition:opacity .25s ease, transform .25s ease;
  max-width:min(92vw, 480px); text-align:center;
}
.vh-toast.show{ opacity:1; transform:translate(-50%, 0); }
