/* ===== GrowNiti Chat styles ===== */

.gnc-trigger {
  position: fixed;
  right: 16px;
  bottom: calc(16px + var(--gnc-bottom-gap, 0px) + env(safe-area-inset-bottom));
  z-index: 9999;
  padding: 12px 18px;
  border: none;
  border-radius: 999px; /* full round like Install */
  background: linear-gradient(135deg, #1f6feb, #007bff);
  color: #fff;
  font-weight: 600;
  font-size: 0.95rem;
  box-shadow: 0 6px 20px rgba(0, 123, 255, 0.35);
  cursor: pointer;
  transition: all 0.25s ease;
}

/* subtle lift when hovered or tapped */
.gnc-trigger:hover,
.gnc-trigger:active {
  transform: translateY(-2px);
  background: linear-gradient(135deg, #2684ff, #0066ff);
  box-shadow: 0 10px 30px rgba(0, 123, 255, 0.5);
}

/* optional pulse glow to draw attention */
@keyframes aiPulse {
  0%, 100% { box-shadow: 0 0 10px rgba(31,111,235,.4); }
  50% { box-shadow: 0 0 20px rgba(31,111,235,1); }
}
.gnc-trigger.pulse {
  animation: aiPulse 2.4s infinite;
}

/* tighter layout for small screens */
@media (max-width: 600px) {
  .gnc-trigger {
    padding: 10px 14px;
    font-size: 0.9rem;
    bottom: calc(12px + env(safe-area-inset-bottom));
  }
}







.gnc-trigger {
  position: fixed;
  right: 16px;
  bottom: calc(16px + var(--gnc-bottom-gap, 0px) + env(safe-area-inset-bottom));
  z-index: 9999;
  padding: 12px 16px;
  border: 0; border-radius: 16px;
  background: linear-gradient(180deg,#3a7bfd,#2458d8);
  color: #fff; font-weight: 600;
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
  cursor: pointer;
  animation: aiPulse 2.4s infinite;
}
.gnc-trigger.hide { display: none; }

.gnc-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.35);
  display: none; z-index: 10000;
}
.gnc-overlay.open { display: block; }

.gnc-panel {
  position: fixed; right: 16px; bottom: calc(64px + env(safe-area-inset-bottom));
  width: 380px; max-width: calc(100vw - 32px);
  height: 520px; max-height: calc(100vh - 32px);
  background: #0f172a; color: #e5e7eb; border-radius: 16px;
  box-shadow: 0 16px 48px rgba(0,0,0,.45);
  display: flex; flex-direction: column; overflow: hidden;
  /* added for bottom text chatting area*/
  padding-bottom:47px; 
}

/* Mobile: turn it into a bottom sheet */
@media (max-width: 600px) {
  .gnc-panel { left: 0; right: 0; margin: 0 8px; width: auto; height: 72vh; }
}

.gnc-head { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid #1f2937; }
.gnc-bot img { width: 28px; height: 28px; border-radius: 6px; background:#0b1020; }
.gnc-title { font-weight: 700; }
.gnc-sub   { font-size: 12px; color: #8ab6ff; }
.gnc-spacer{ flex: 1; }
.gnc-x { background: transparent; border: 0; color: #9fb3ff; font-size: 20px; cursor: pointer; }

.gnc-body { padding: 12px; overflow: auto; flex: 1; }
.gnc-foot { display: flex; gap: 8px; padding: 10px; border-top: 1px solid #1f2937; }
.gnc-input{ flex: 1; border-radius: 10px; background: #0b1324; border: 1px solid #1f2937; color: #e5e7eb; padding: 10px 12px; }
.gnc-cta  { background: #2d5bff; color: #fff; border: 0; border-radius: 10px; padding: 10px 14px; font-weight: 700; }
.gnc-cta.secondary{ background:#273655; }

.gnc-msg { margin: 10px 0; display: flex; }
.gnc-msg.user { justify-content: flex-end; }
.gnc-msg .bubble{ background:#0b1324; border:1px solid #1f2937; padding:10px 12px; border-radius:12px; max-width: 85%; }
.gnc-msg.user .bubble{ background:#17315d; border-color:#264a80; }

.gnc-chips{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.gnc-chip{ background:#12203a; color:#c8d6ff; border:1px solid #2a3f66; border-radius: 999px; padding:6px 12px; cursor:pointer; }
.gnc-tag{ background:#114; color:#9cc3ff; border:1px solid #2a3f66; padding:2px 8px; border-radius:999px; font-size:12px; margin-left:6px; }

.gnc-card{ border:1px solid #23324d; background:#0c1426; border-radius:12px; padding:10px 12px; margin-top:6px; }
.gnc-note{ margin-top:8px; font-size:12px; color:#8ab6ff; }
.gnc-warn-note{ color:#ffd78b; margin-top:6px; }


.gnc-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #0d1117;
  color: #fff;
  padding: 10px 14px;
  border-radius: 10px 10px 0 0;
}

.gnc-controls {
  display: flex;
  gap: 6px;
}

.gnc-minimize, .gnc-close {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 1.2rem;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.gnc-minimize:hover, .gnc-close:hover {
  opacity: 0.7;
}

.gnc-panel.minimized {
  height: 60px; /* show only header when minimized */
  overflow: hidden;
  transition: height 0.3s ease;
}

.gnc-minimize {
  transition: transform 0.3s ease;

}
.gnc-panel.minimized .gnc-minimize {
  transform: rotate(180deg);
}


button.gnc-cta.secondary[data-min] {
  display: none !important;
}




.gnc-trigger.hide { display: none !important; }
.gnc-trigger .gnc-close {
  position: absolute; top: -6px; right: -6px;
  width: 26px; height: 26px; border-radius: 50%;
  background: rgba(0,0,0,.35); color: #fff;
  border: 0; cursor: pointer; font-size: 16px; line-height: 26px;
}

