/* Nova AI — Scoped CSS — all rules under #nova-widget to prevent WP theme conflicts */

#nova-widget,
#nova-widget *,
#nova-widget *::before,
#nova-widget *::after {
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  line-height: normal !important;
}

#nova-widget {
  --bg: #0c0c0c;
  --sf: #141414;
  --bd: #2a2a2a;
  --bd2: #3a3a3a;
  --tx: #d4d4d4;
  --tm: #777;
  --td: #444;
  --wh: #f0f0f0;
  display: block !important;
  overflow: hidden !important;
  background: #0c0c0c !important;
  color: #d4d4d4 !important;
  border-radius: 10px;
  border: 1px solid #2a2a2a;
}

#nova-widget .nova-shell {
  display: grid !important;
  grid-template-columns: 210px 1fr !important;
  grid-template-rows: 50px 1fr !important;
  height: 100% !important;
  width: 100% !important;
  background: #0c0c0c !important;
  color: #d4d4d4 !important;
}

/* ── HEADER ── */
#nova-widget .nova-hdr {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 24px !important;
  border-bottom: 1px solid #2a2a2a !important;
  background: #0c0c0c !important;
}

#nova-widget .nova-logo {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #f0f0f0 !important;
  text-decoration: none !important;
}

/* ── SIDEBAR ── */
#nova-widget .nova-aside {
  border-right: 1px solid #2a2a2a !important;
  padding: 18px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: #0c0c0c !important;
  height: 100% !important;
}

#nova-widget .nova-s-label {
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  color: #444 !important;
  text-transform: uppercase !important;
  padding: 0 16px !important;
  margin-bottom: 4px !important;
  margin-top: 18px !important;
  flex-shrink: 0 !important;
  display: block !important;
}

#nova-widget .nova-s-label:first-child { margin-top: 0 !important; }

#nova-widget .nova-s-label-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 16px !important;
  margin-bottom: 4px !important;
  margin-top: 18px !important;
  flex-shrink: 0 !important;
}

#nova-widget .nova-q-mode-ind {
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  color: #444 !important;
  text-transform: uppercase !important;
  transition: all .3s !important;
}

#nova-widget .nova-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 9px 16px !important;
  cursor: pointer !important;
  border-left: 1.5px solid transparent !important;
  transition: background .15s !important;
  flex-shrink: 0 !important;
  background: transparent !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  text-decoration: none !important;
}

#nova-widget .nova-nav:hover { background: #141414 !important; }
#nova-widget .nova-nav.active { border-left-color: #f0f0f0 !important; background: #141414 !important; }

#nova-widget .nova-nav-l {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

#nova-widget .nova-nav-name {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #d4d4d4 !important;
}

#nova-widget .nova-nav.active .nova-nav-name { color: #f0f0f0 !important; font-weight: 600 !important; }

#nova-widget .nova-nav-sub {
  font-size: 10px !important;
  color: #777 !important;
}

#nova-widget .nova-nav-arr {
  font-size: 10px !important;
  color: #444 !important;
  opacity: 0 !important;
  transition: opacity .1s !important;
}

#nova-widget .nova-nav:hover .nova-nav-arr,
#nova-widget .nova-nav.active .nova-nav-arr { opacity: 1 !important; color: #777 !important; }

#nova-widget .nova-divider {
  height: 1px !important;
  background: #2a2a2a !important;
  margin: 14px 16px !important;
  flex-shrink: 0 !important;
}

/* Quick prompts */
#nova-widget .nova-quick-list {
  flex-shrink: 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

#nova-widget .nova-q-set {
  position: absolute !important;
  width: 100% !important;
  transition: all .35s cubic-bezier(.4,0,.2,1) !important;
}

#nova-widget .nova-q-set.entering-bottom { transform: translateY(100%) !important; opacity: 0 !important; }
#nova-widget .nova-q-set.entering-top    { transform: translateY(-100%) !important; opacity: 0 !important; }
#nova-widget .nova-q-set.active          { transform: translateY(0) !important; opacity: 1 !important; }
#nova-widget .nova-q-set.exiting-top     { transform: translateY(-100%) !important; opacity: 0 !important; }
#nova-widget .nova-q-set.exiting-bottom  { transform: translateY(100%) !important; opacity: 0 !important; }

#nova-widget .nova-q-item {
  padding: 6px 16px !important;
  cursor: pointer !important;
  font-size: 11px !important;
  color: #777 !important;
  transition: color .1s, background .1s !important;
  line-height: 1.5 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 6px !important;
}

#nova-widget .nova-q-item:hover { color: #d4d4d4 !important; background: rgba(255,255,255,.02) !important; }

#nova-widget .nova-q-arr {
  color: #444 !important;
  flex-shrink: 0 !important;
  font-size: 10px !important;
  margin-top: 1px !important;
}

/* Site link */
#nova-widget .nova-site-link {
  margin-top: auto !important;
  padding: 14px 16px 0 !important;
}

#nova-widget .nova-site-link a {
  display: block !important;
  padding: 9px 12px !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 6px !important;
  font-size: 11px !important;
  color: #777 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  letter-spacing: .3px !important;
  transition: all .1s !important;
}

#nova-widget .nova-site-link a:hover { border-color: #3a3a3a !important; color: #d4d4d4 !important; }

/* ── MAIN ── */
#nova-widget .nova-main {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: #0c0c0c !important;
}

#nova-widget .nova-mode-strip {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 24px !important;
  height: 34px !important;
  border-bottom: 1px solid #2a2a2a !important;
  position: relative !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  background: #0c0c0c !important;
}

#nova-widget .nova-mode-strip::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: #f0f0f0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#nova-widget .nova-mode-strip.flash::after { animation: novaStripFlash .4s ease forwards !important; }

@keyframes novaStripFlash { 0%{opacity:.06} 100%{opacity:0} }

#nova-widget .nova-m-tag {
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #f0f0f0 !important;
  transition: opacity .2s !important;
}

#nova-widget .nova-m-detail { font-size: 10px !important; color: #777 !important; }
#nova-widget .nova-m-sep    { color: #444 !important; font-size: 10px !important; }
#nova-widget .nova-m-right  { margin-left: auto !important; font-size: 10px !important; color: #777 !important; letter-spacing: 1px !important; font-weight: 500 !important; }

/* ── CHAT ── */
#nova-widget .nova-chat {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 28px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  scroll-behavior: smooth !important;
  background: #0c0c0c !important;
}

#nova-widget .nova-chat::-webkit-scrollbar { width: 2px !important; }
#nova-widget .nova-chat::-webkit-scrollbar-thumb { background: #3a3a3a !important; }

/* Welcome */
#nova-widget .nova-welcome {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  flex: 1 !important;
  max-width: 480px !important;
  animation: novaFi .4s ease !important;
}

@keyframes novaFi { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

#nova-widget .nova-w-eye {
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 2px !important;
  color: #444 !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
  transition: opacity .3s !important;
  display: block !important;
}

#nova-widget .nova-w-h1 {
  font-size: 36px !important;
  font-weight: 300 !important;
  letter-spacing: -1.5px !important;
  color: #f0f0f0 !important;
  line-height: 1.1 !important;
  margin-bottom: 12px !important;
}

#nova-widget .nova-w-h1 strong { font-weight: 600 !important; }

#nova-widget .nova-w-desc {
  font-size: 12px !important;
  color: #777 !important;
  line-height: 1.8 !important;
  margin-bottom: 24px !important;
  max-width: 340px !important;
  transition: opacity .3s !important;
  display: block !important;
}

#nova-widget .nova-w-actions-wrap {
  position: relative !important;
  overflow: hidden !important;
  min-height: 180px !important;
}

#nova-widget .nova-w-actions {
  position: absolute !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  transition: all .35s cubic-bezier(.4,0,.2,1) !important;
}

#nova-widget .nova-w-actions.entering { transform: translateY(20px) !important; opacity: 0 !important; }
#nova-widget .nova-w-actions.visible  { transform: translateY(0) !important; opacity: 1 !important; }
#nova-widget .nova-w-actions.exiting  { transform: translateY(-20px) !important; opacity: 0 !important; }

#nova-widget .nova-w-action {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 10px 13px !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all .12s !important;
  font-size: 12px !important;
  color: #777 !important;
  background: transparent !important;
  text-decoration: none !important;
}

#nova-widget .nova-w-action:hover { border-color: #3a3a3a !important; background: #141414 !important; color: #d4d4d4 !important; }

#nova-widget .nova-w-tag {
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #444 !important;
  margin-left: 12px !important;
  flex-shrink: 0 !important;
}

/* ── MESSAGES ── */
#nova-widget .nova-msg-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  animation: novaFi .2s ease !important;
  max-width: 580px !important;
}

#nova-widget .nova-msg-wrap.user { align-self: flex-end !important; align-items: flex-end !important; }
#nova-widget .nova-msg-wrap.nova { align-self: flex-start !important; }

#nova-widget .nova-msg-label {
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  color: #444 !important;
  text-transform: uppercase !important;
  padding: 0 2px !important;
  display: block !important;
}

#nova-widget .nova-bubble {
  padding: 12px 15px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
}

#nova-widget .nova-msg-wrap.nova .nova-bubble {
  background: #141414 !important;
  border: 1px solid #2a2a2a !important;
  color: #d4d4d4 !important;
}

#nova-widget .nova-msg-wrap.user .nova-bubble {
  background: #f0f0f0 !important;
  color: #0c0c0c !important;
  font-weight: 500 !important;
}

/* Emergency */
#nova-widget .nova-e-block {
  border: 1px solid #3a3a3a !important;
  border-left: 2px solid #f0f0f0 !important;
  border-radius: 4px !important;
  padding: 13px !important;
  margin-top: 10px !important;
}

#nova-widget .nova-e-title {
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #777 !important;
  margin-bottom: 10px !important;
  display: block !important;
}

#nova-widget .nova-e-step {
  font-size: 12px !important;
  color: #d4d4d4 !important;
  padding: 6px 0 !important;
  border-bottom: 1px solid #2a2a2a !important;
  line-height: 1.6 !important;
  display: block !important;
}

#nova-widget .nova-e-step:last-child { border-bottom: none !important; }
#nova-widget .nova-e-step strong { color: #f0f0f0 !important; font-weight: 600 !important; }

/* Table */
#nova-widget .nova-dt { width: 100% !important; border-collapse: collapse !important; margin-top: 10px !important; font-size: 11px !important; }
#nova-widget .nova-dt th { text-align: left !important; padding: 5px 10px !important; border-bottom: 1px solid #3a3a3a !important; color: #777 !important; font-size: 9px !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; font-weight: 600 !important; }
#nova-widget .nova-dt td { padding: 7px 10px !important; border-bottom: 1px solid #2a2a2a !important; color: #d4d4d4 !important; }
#nova-widget .nova-dt tr:last-child td { border-bottom: none !important; }

/* Typing */
#nova-widget .nova-typing {
  display: flex !important;
  gap: 5px !important;
  padding: 12px 15px !important;
  background: #141414 !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 6px !important;
  width: fit-content !important;
}

#nova-widget .nova-td { width: 4px !important; height: 4px !important; background: #3a3a3a !important; border-radius: 50% !important; animation: novaTb 1.2s infinite !important; }
#nova-widget .nova-td:nth-child(2) { animation-delay: .15s !important; }
#nova-widget .nova-td:nth-child(3) { animation-delay: .3s !important; }

@keyframes novaTb { 0%,80%,100%{transform:translateY(0);opacity:.3} 40%{transform:translateY(-4px);opacity:1} }

/* ── INPUT ── */
#nova-widget .nova-input-area {
  padding: 12px 24px 16px !important;
  border-top: 1px solid #2a2a2a !important;
  background: #0c0c0c !important;
  flex-shrink: 0 !important;
}

#nova-widget .nova-input-row {
  display: flex !important;
  align-items: flex-end !important;
  gap: 8px !important;
}

#nova-widget #nova-inp {
  flex: 1 !important;
  background: #141414 !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 6px !important;
  padding: 10px 13px !important;
  color: #d4d4d4 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  resize: none !important;
  outline: none !important;
  min-height: 40px !important;
  max-height: 120px !important;
  line-height: 1.5 !important;
  transition: border-color .12s !important;
  width: 100% !important;
  box-shadow: none !important;
}

#nova-widget #nova-inp:focus { border-color: #3a3a3a !important; box-shadow: none !important; outline: none !important; }
#nova-widget #nova-inp::placeholder { color: #444 !important; }

#nova-widget .nova-send {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  background: #f0f0f0 !important;
  border: none !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  transition: opacity .12s !important;
  box-shadow: none !important;
}

#nova-widget .nova-send:hover { opacity: .8 !important; }
#nova-widget .nova-send svg { width: 13px !important; height: 13px !important; color: #0c0c0c !important; display: block !important; }

#nova-widget .nova-input-foot {
  display: flex !important;
  justify-content: space-between !important;
  margin-top: 7px !important;
  font-size: 10px !important;
  color: #444 !important;
  letter-spacing: .5px !important;
}
