/* Miles web-chat widget — HomeFinders Realty office site */
#miles-fab{position:fixed;right:22px;bottom:22px;z-index:2147483000;
  display:flex;align-items:center;gap:10px;cursor:pointer;border:0;
  background:#122946;color:#fff;border-radius:999px;padding:13px 18px 13px 14px;
  font-family:"DM Sans",-apple-system,"Segoe UI",sans-serif;font-size:15px;font-weight:600;
  box-shadow:0 12px 32px rgba(18,41,70,.35);transition:transform .15s ease,box-shadow .15s ease}
#miles-fab:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(18,41,70,.42)}
#miles-fab:focus-visible{outline:3px solid #f0a33a;outline-offset:3px}
#miles-fab svg{width:22px;height:22px;flex:none}
#miles-fab .miles-dot{width:9px;height:9px;border-radius:50%;background:#37d67a;flex:none;
  box-shadow:0 0 0 3px rgba(55,214,122,.25)}
#miles-panel{position:fixed;right:22px;bottom:92px;z-index:2147483001;width:384px;max-width:calc(100vw - 32px);
  height:600px;max-height:calc(100vh - 130px);display:none;flex-direction:column;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 28px 70px rgba(18,41,70,.35);
  font-family:"DM Sans",-apple-system,"Segoe UI",sans-serif}
#miles-panel.open{display:flex}
#miles-head{background:#122946;color:#fff;padding:15px 16px;display:flex;align-items:center;gap:12px}
#miles-head .miles-avatar{width:40px;height:40px;border-radius:50%;background:#0a70bf;flex:none;overflow:hidden;padding:0}
#miles-head .miles-avatar img{width:100%;height:100%;object-fit:cover;display:block}
#miles-head .miles-title{flex:1;min-width:0}
#miles-head .miles-title b{display:block;font-size:16.5px;line-height:1.25}
#miles-head .miles-title span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#bcd2ea;margin-top:3px}
#miles-head .miles-title span i{width:7px;height:7px;border-radius:50%;background:#37d67a;font-style:normal}
#miles-close{background:none;border:0;color:#bcd2ea;font-size:22px;cursor:pointer;line-height:1;padding:4px}
#miles-close:hover,#miles-close:focus-visible{color:#fff}
#miles-msgs{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;background:#f4f7f8}
.miles-msg{max-width:82%;padding:10px 13px;border-radius:15px;font-size:14.5px;line-height:1.5;
  white-space:pre-wrap;word-wrap:break-word}
.miles-msg.bot{background:#fff;color:#101f35;border:1px solid #d8e2e8;border-bottom-left-radius:5px;align-self:flex-start}
.miles-msg.user{background:#0a70bf;color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.miles-msg.typing{display:flex;gap:5px;align-items:center;padding:13px 15px}
.miles-msg.typing i{width:7px;height:7px;border-radius:50%;background:#8aa0b8;animation:miles-blink 1.2s infinite}
.miles-msg.typing i:nth-child(2){animation-delay:.2s}.miles-msg.typing i:nth-child(3){animation-delay:.4s}
@keyframes miles-blink{0%,60%,100%{opacity:.25}30%{opacity:1}}
#miles-chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 10px;background:#f4f7f8}
#miles-chips:empty{display:none}
.miles-chip{border:1px solid #0a70bf;color:#0a70bf;background:#fff;border-radius:999px;
  font-size:13px;font-weight:600;padding:7px 13px;cursor:pointer;font-family:inherit}
.miles-chip:hover,.miles-chip:focus-visible{background:#d7e8fd}
#miles-form{display:flex;gap:8px;padding:12px 14px;background:#fff;border-top:1px solid #d8e2e8}
#miles-input{flex:1;border:1px solid #d8e2e8;border-radius:999px;padding:11px 15px;font-size:14.5px;
  font-family:inherit;outline:none;min-width:0}
#miles-input:focus{border-color:#0a70bf}
#miles-send{border:0;border-radius:50%;width:44px;height:44px;flex:none;cursor:pointer;
  background:#0a70bf;color:#fff;display:flex;align-items:center;justify-content:center}
#miles-send:hover{background:#085a99}
#miles-send:disabled{opacity:.5;cursor:default}
#miles-send svg{width:18px;height:18px}
#miles-foot{padding:7px 14px 10px;background:#fff;font-size:11px;color:#8aa0b8;text-align:center}
@media (max-width:480px){
  #miles-fab{right:14px;bottom:14px}
  #miles-panel{right:8px;left:8px;width:auto;bottom:84px}
}
@media (prefers-reduced-motion:reduce){
  .miles-msg.typing i{animation:none}
}
