/* =========================================================
   BLUE SKIES — floating chatbot widget
   ========================================================= */
#bsChatLauncher{
  position: fixed; right: 22px; bottom: 22px; z-index: 1090;
  width: 60px; height: 60px; border-radius: 50%;
  background: #000; border: 2px solid var(--hill-blue);
  color: #fff; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 14px 30px rgba(0,0,0,.35);
  transition: transform .18s ease;
}
#bsChatLauncher:hover{ transform: scale(1.06); }
#bsChatLauncher svg, #bsChatLauncher i{ font-size: 1.5rem; }
#bsChatLauncher .bs-chat-ping{
  position: absolute; top: -3px; right: -3px; width: 13px; height: 13px;
  background: var(--hill-gold); border-radius: 50%; border: 2px solid #fff;
}

#bsChatWindow{
  position: fixed; right: 22px; bottom: 94px; z-index: 1090;
  width: 360px; max-width: 92vw; height: 500px; max-height: 74vh;
  background: #fff; border-radius: 10px; overflow: hidden;
  box-shadow: 0 26px 60px rgba(0,0,0,.35);
  display: none; flex-direction: column;
  border: 1px solid #e6e6e6;
}
#bsChatWindow.open{ display: flex; }

.bs-chat-head{
  background: #000; color: #fff; padding: 14px 16px;
  display: flex; align-items: center; justify-content: space-between;
  border-bottom: 3px solid var(--hill-blue);
}
.bs-chat-head small{ display:block; color:#aaa; font-size:.7rem; }
.bs-chat-head button{ background: transparent; border: none; color: #ccc; font-size: 1.2rem; }
.bs-chat-head button:hover{ color: #fff; }

.bs-chat-banner{
  background: #FFF8E8; color: #7a5b00; font-size: .76rem; padding: 7px 14px;
  border-bottom: 1px solid #f0e2b8; display: none;
}
.bs-chat-banner.show{ display: block; }

.bs-chat-body{ flex: 1; overflow-y: auto; padding: 14px; background: #f7f7f7; }
.bs-chat-bubble{ max-width: 84%; padding: 9px 12px; border-radius: 12px; font-size: .85rem; margin-bottom: 10px; line-height: 1.42; }
.bs-chat-bubble.bot, .bs-chat-bubble.admin{ background: #fff; border: 1px solid #e6e6e6; color: #222; border-bottom-left-radius: 3px; }
.bs-chat-bubble.admin{ border-left: 3px solid var(--hill-blue); }
.bs-chat-bubble.visitor{ background: var(--hill-blue); color: #fff; margin-left: auto; border-bottom-right-radius: 3px; }
.bs-chat-bubble .bs-chat-tag{ display: block; font-size: .62rem; opacity: .6; margin-top: 3px; }

.bs-chat-quick{ display: flex; flex-wrap: wrap; gap: 6px; padding: 0 14px 10px; background: #f7f7f7; }
.bs-chat-quick button{
  background: #fff; border: 1px solid #ddd; border-radius: 999px;
  padding: 5px 11px; font-size: .74rem; color: #333;
}
.bs-chat-quick button:hover{ border-color: var(--hill-blue); color: #000; }

.bs-chat-foot{ padding: 10px; border-top: 1px solid #e6e6e6; background: #fff; display: flex; gap: 6px; align-items: center; }
.bs-chat-foot input[type="text"]{
  flex: 1; border: 1px solid #ddd; border-radius: 999px; padding: 8px 13px; font-size: .85rem;
}
.bs-chat-foot input[type="text"]:focus{ outline: none; border-color: var(--hill-blue); }
.bs-chat-foot button.send{ background: #000; color: #fff; border: none; border-radius: 50%; width: 36px; height: 36px; flex-shrink: 0; }
.bs-chat-foot label.attach{
  width: 36px; height: 36px; border-radius: 50%; border: 1px solid #ddd;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0; cursor: pointer; color: #555;
}
.bs-chat-foot label.attach:hover{ border-color: var(--hill-blue); color: #000; }
.bs-chat-foot input[type="file"]{ display: none; }

.bs-chat-precall{ padding: 18px; }
.bs-chat-precall p{ font-size: .82rem; color: #666; margin-bottom: 12px; }
.bs-chat-precall input{ width: 100%; margin-bottom: 10px; border: 1px solid #ddd; border-radius: 8px; padding: 9px 12px; font-size: .85rem; }
.bs-chat-precall button{ width: 100%; }

@media (max-width: 480px){
  #bsChatWindow{ right: 10px; left: 10px; width: auto; bottom: 86px; }
  #bsChatLauncher{ right: 14px; bottom: 14px; }
}
