/* IMOBI — NOVA widget CSS — usa a paleta real do site novo (#1B365D / #C9A227) */

#nova-widget { position: fixed; bottom: 24px; right: 24px; z-index: 9999; font-family: 'Segoe UI', -apple-system, Helvetica, Arial, sans-serif; }

#nova-toggle {
  width: 60px; height: 60px; border-radius: 16px;
  background: linear-gradient(135deg, #1B365D 0%, #142844 100%);
  border: 2px solid #C9A227; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 24px rgba(201,162,39,0.25); transition: all .25s ease;
  color: #C9A227; position: relative;
}
#nova-toggle:hover { transform: translateY(-3px); box-shadow: 0 8px 32px rgba(201,162,39,0.35); }
#nova-toggle svg { width: 26px; height: 26px; }
#nova-toggle .icon-close { display: none; }
#nova-toggle.open .icon-chat { display: none; }
#nova-toggle.open .icon-close { display: block; }
#nova-toggle.open .nova-badge { display: none; }

.nova-badge {
  position: absolute; top: -4px; right: -4px; width: 22px; height: 22px;
  background: #C9A227; color: #1B365D; border-radius: 50%;
  font-size: 12px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  animation: nova-badge-pulse 2s ease-in-out infinite;
}
@keyframes nova-badge-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); }
}

#nova-chat {
  position: absolute; bottom: 76px; right: 0;
  width: 380px; max-width: calc(100vw - 48px); height: 540px; max-height: 70vh;
  background: #FFFFFF; border: 1px solid rgba(201,162,39,0.3); border-radius: 20px;
  display: flex; flex-direction: column;
  opacity: 0; transform: translateY(20px) scale(.96); pointer-events: none;
  transition: all .25s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 25px 80px rgba(27,54,93,.35);
}
#nova-chat.open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }

.nova-head {
  display: flex; align-items: center; gap: 12px; padding: 18px 20px;
  background: linear-gradient(135deg, #1B365D 0%, #142844 100%);
  border-radius: 20px 20px 0 0; flex-shrink: 0;
}
.nova-avatar {
  width: 38px; height: 38px; border-radius: 10px; background: #C9A227;
  color: #1B365D; font-weight: 700; display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.nova-head-title { font-weight: 600; font-size: .98rem; color: #fff; }
.nova-head-sub { font-size: .72rem; color: rgba(255,255,255,.62); }

.nova-messages { flex: 1; min-height: 0; overflow-y: auto; padding: 18px 16px; display: flex; flex-direction: column; gap: 14px; background: #F7F8FA; }
.nova-msg-row { display: flex; align-items: flex-end; gap: 8px; max-width: 90%; }
.nova-msg-row.nova-row-user { align-self: flex-end; flex-direction: row-reverse; }
.nova-msg-row.nova-row-assistant { align-self: flex-start; }
.nova-mini-avatar {
  width: 22px; height: 22px; border-radius: 7px; background: #C9A227; color: #1B365D;
  font-weight: 700; font-size: .68rem; display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-bottom: 2px;
}
.nova-msg {
  padding: 11px 14px; border-radius: 14px; font-size: .86rem; line-height: 1.55;
  white-space: pre-wrap; word-wrap: break-word;
}
.nova-msg-assistant {
  background: #fff; color: #1F2A3A; border: 1px solid #E7E9EC;
  border-bottom-left-radius: 4px; box-shadow: 0 1px 2px rgba(27,54,93,.04);
}
.nova-msg-user { background: #1B365D; color: #fff; border-bottom-right-radius: 4px; }

.nova-typing-bubble { display: flex; gap: 4px; padding: 12px 14px; }
.nova-typing-bubble span { width: 6px; height: 6px; border-radius: 50%; background: #9AA0AC; animation: nova-bounce 1.2s infinite; }
.nova-typing-bubble span:nth-child(2) { animation-delay: .15s; }
.nova-typing-bubble span:nth-child(3) { animation-delay: .3s; }
@keyframes nova-bounce { 0%,60%,100% { transform: translateY(0); opacity: .4; } 30% { transform: translateY(-4px); opacity: 1; } }

.nova-input-row { display: flex; gap: 8px; padding: 14px; border-top: 1px solid #ECECEC; background: #fff; flex-shrink: 0; }
#nova-input {
  flex: 1; background: #F5F5F5; border: 1px solid #DADEE3; border-radius: 10px;
  padding: 10px 14px; color: #1B365D; font-size: .86rem; outline: none;
}
#nova-input:focus { border-color: #C9A227; }
#nova-send {
  width: 40px; height: 40px; border-radius: 10px; background: #C9A227; border: none;
  color: #1B365D; cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: transform .15s;
}
#nova-send:hover { transform: scale(1.06); }
#nova-send svg { width: 18px; height: 18px; }
#nova-send:disabled { opacity: .5; cursor: not-allowed; }

.nova-footer { text-align: center; font-size: .68rem; color: #9AA0AC; padding: 6px 0 12px; background: #fff; border-radius: 0 0 20px 20px; flex-shrink: 0; }

@media (max-width: 480px) {
  #nova-widget { bottom: 16px; right: 16px; }
  #nova-chat { width: calc(100vw - 32px); right: -8px; }
}
