/* VOXTiX Main Stylesheet
   Tailwind utilities are loaded via CDN in base.html.
   This file contains only custom overrides. */

/* Mega menu link style */
.mega-menu-link {
  display: block;
  padding: 0.375rem 0.5rem;
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #374151;
  text-decoration: none;
  transition: background-color 0.15s, color 0.15s;
  margin-bottom: 0.125rem;
}
.mega-menu-link:hover {
  background-color: #eff6ff;
  color: #1d4ed8;
}

/* Smooth prose styles for CMS body content */
.prose p { margin-bottom: 1rem; line-height: 1.75; }
.prose h2 { font-size: 1.5rem; font-weight: 700; margin-bottom: 1rem; margin-top: 2rem; }
.prose h3 { font-size: 1.25rem; font-weight: 600; margin-bottom: 0.75rem; margin-top: 1.5rem; }
.prose ul { list-style: disc; margin-left: 1.5rem; margin-bottom: 1rem; }
.prose li { margin-bottom: 0.375rem; }
.prose a { color: #2563eb; text-decoration: underline; }

/* Chat widget scrollbar */
#chat-messages::-webkit-scrollbar { width: 4px; }
#chat-messages::-webkit-scrollbar-track { background: transparent; }
#chat-messages::-webkit-scrollbar-thumb { background: #e5e7eb; border-radius: 2px; }

/* HTMX request indicator */
.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: inline-block; }
.htmx-request.htmx-indicator { display: inline-block; }

/* Page transitions */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
main { animation: fadeIn 0.25s ease-out; }

/* Focus ring override for better visibility */
input:focus, select:focus, textarea:focus, button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3);
}
