/* ═══════════════════════════════════════════════════════════════
   VYOMA AI — UI Polish (SaaS-grade)
   Mode selector SVG icons, recycle bin, disclaimer, micro-interactions
   ═══════════════════════════════════════════════════════════════ */

/* ─── 1. THINKING MODE SELECTOR — SVG icons, elevated dropdown ─── */
.thinking-opt-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  color: var(--text-muted, #9ca3af);
  transition: color 0.2s ease;
}

.thinking-opt-icon svg {
  width: 18px;
  height: 18px;
}

.thinking-option {
  gap: 12px !important;
}

.thinking-option:hover .thinking-opt-icon {
  color: var(--accent, #6366f1);
}

.thinking-dropdown {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.05) !important;
  border-radius: 14px !important;
  padding: 8px !important;
  opacity: 0;
  transform: translateY(-6px);
  animation: thinkingDropdownIn 0.2s ease forwards;
}

.thinking-dropdown.hidden {
  display: none !important;
}

@keyframes thinkingDropdownIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.thinking-opt-desc {
  font-size: 0.72rem !important;
}

/* ─── 2. RECYCLE BIN MODAL — Professional SaaS style ─── */
.recycle-overlay {
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.recycle-overlay:not(.hidden) .recycle-modal {
  animation: recycleModalIn 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

@keyframes recycleModalIn {
  from {
    opacity: 0;
    transform: scale(0.96) translateY(8px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.recycle-modal {
  width: 100%;
  max-width: 500px !important;
  border-radius: 16px !important;
  padding: 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: var(--bg-surface, #161616) !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.04) !important;
}

.recycle-modal-header {
  margin-bottom: 8px;
}

.recycle-modal-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
  margin: 0 !important;
}

.recycle-modal-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted, #9ca3af);
}

.recycle-modal-title-icon svg {
  width: 20px;
  height: 20px;
}

.recycle-subtitle {
  font-size: 0.8rem !important;
  color: var(--text-muted) !important;
  margin: 0 0 20px !important;
  line-height: 1.45;
}

/* Empty state — icon + text */
.recycle-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 48px 24px !important;
  text-align: center;
}

.recycle-empty-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted, #6b7280);
  opacity: 0.7;
}

.recycle-empty-icon svg {
  width: 40px;
  height: 40px;
}

.recycle-empty-text {
  font-size: 0.9rem !important;
  color: var(--text-muted) !important;
  font-weight: 500;
}

/* Button hierarchy — primary vs secondary */
.recycle-modal-footer {
  gap: 10px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--border) !important;
}

.recycle-btn-danger {
  transition: filter 0.15s ease, transform 0.15s ease !important;
}

.recycle-btn-danger:hover {
  filter: brightness(1.08);
}

.recycle-btn-accent {
  transition: filter 0.15s ease, transform 0.15s ease !important;
}

.recycle-btn-accent:hover {
  filter: brightness(1.1);
}

/* ─── 3. MOVE MESSAGES MODAL — Title icon ─── */
.movechat-modal-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.movechat-modal-title-icon {
  display: inline-flex;
  color: var(--text-muted, #9ca3af);
}

.movechat-modal-title-icon svg {
  width: 20px;
  height: 20px;
}

/* ─── 4. FOOTER DISCLAIMER — Professional text + links ─── */
.ai-disclaimer-text {
  opacity: 0.7 !important;
  font-size: 0.7rem !important;
  text-align: center !important;
  max-width: 520px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ai-disclaimer-text .disclaimer-link {
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease, opacity 0.2s ease;
}

.ai-disclaimer-text .disclaimer-link:hover {
  border-bottom-color: currentColor;
  opacity: 1;
}

/* ─── 5. MOBILE RESPONSIVENESS ─── */
@media (max-width: 768px) {
  .thinking-select {
    display: flex !important;
  }

  .thinking-dropdown {
    min-width: 260px !important;
    max-width: calc(100vw - 32px);
    right: 0;
    left: auto;
  }

  .recycle-modal {
    max-width: 92vw !important;
    padding: 20px !important;
    border-radius: 14px !important;
  }

  .recycle-empty {
    padding: 36px 20px !important;
  }

  .recycle-empty-icon svg {
    width: 36px;
    height: 36px;
  }

  .recycle-modal-footer {
    flex-wrap: wrap;
  }

  .recycle-btn-danger,
  .recycle-btn-accent {
    min-height: 44px;
    padding: 10px 18px !important;
  }

  .ai-disclaimer-text {
    font-size: 0.65rem !important;
    padding: 0 12px;
  }
}

/* ─── Importance menu & merged meta — SVG icons ─── */
.mark-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  vertical-align: middle;
  color: var(--text-muted, #9ca3af);
}

.mark-icon svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.merged-meta-row .meta-icon {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin-right: 4px;
  color: var(--text-muted, #9ca3af);
}

.merged-meta-row .meta-icon svg {
  width: 12px;
  height: 12px;
}

.merged-summary-icon {
  display: inline-flex;
  align-items: center;
  color: var(--text-muted, #9ca3af);
}

.merged-summary-icon svg {
  width: 16px;
  height: 16px;
}

@media (max-width: 480px) {
  .recycle-modal {
    padding: 18px !important;
  }

  .recycle-modal-title {
    font-size: 1rem !important;
  }
}
