/* AVI chat floating (demo allowlist) */
.avm-avi-chat-btn{position:fixed;right:16px;bottom:80px;z-index:100050;width:56px;height:56px;border-radius:50%;border:none;padding:0;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.22);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.avm-avi-chat-btn img{width:56px;height:56px;border-radius:50%;object-fit:cover;display:block;}
@media (min-width: 768px) {
  .avm-avi-chat-btn {
    bottom: 24px;
  }
}
.avm-avi-chat-panel{position:fixed;left:0;right:0;bottom:0;height:60vh;max-height:60vh;z-index:100060;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -8px 32px rgba(15,23,42,.2);display:flex;flex-direction:column;transform:translateY(110%);transition:transform .28s ease;overflow:hidden;}
.avm-avi-chat-panel.is-open{transform:translateY(0);}
.avm-avi-chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#0f172a;color:#fff;flex-shrink:0;}
.avm-avi-chat-title{font-size:13px;font-weight:700;}
.avm-avi-chat-close{border:none;background:transparent;color:#fff;font-size:18px;cursor:pointer;line-height:1;}
.avm-avi-chat-messages{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px;background:#f8fafc;}
.avm-avi-chat-bubble{margin:0 0 10px;padding:8px 10px;border-radius:10px;max-width:92%;font-size:13px;line-height:1.45;white-space:pre-wrap;word-break:break-word;}
.avm-avi-chat-bubble--user{margin-left:auto;background:#fff7ed;color:#9a3412;}
.avm-avi-chat-bubble--assistant{background:#fff;border:1px solid #e2e8f0;color:#0f172a;}
.avm-avi-chat-loader{padding:8px 12px;font-size:12px;color:#64748b;background:#f1f5f9;flex-shrink:0;}
.avm-avi-chat-loader[hidden]{display:none!important;}
.avm-avi-chat-compose{display:flex;gap:8px;padding:10px;border-top:1px solid #e2e8f0;background:#fff;flex-shrink:0;}
.avm-avi-chat-input{flex:1;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;font-size:14px;}
.avm-avi-chat-send{border:none;border-radius:8px;background:#f97316;color:#fff;font-weight:700;padding:10px 14px;cursor:pointer;font-size:13px;}
@media (min-width: 769px) {
  .avm-avi-chat-panel {
    left: auto;
    right: 16px;
    bottom: 80px;
    width: 380px;
    height: 560px;
    max-height: calc(100vh - 120px);
    border-radius: 16px;
    transform: translateY(20px);
    opacity: 0;
    transition: transform .28s ease, opacity .28s ease;
  }
  .avm-avi-chat-panel.is-open {
    transform: translateY(0);
    opacity: 1;
  }
}
