/* We Serve Papers — custom CSS */

.nav-link {
  @apply px-3 py-2 text-sm font-medium text-navy-800 hover:text-signal-700 transition-colors rounded-md;
}
.nav-link-active {
  @apply text-signal-700;
}
.mobile-nav-link {
  @apply block px-3 py-2 text-base font-medium text-navy-800 hover:bg-stone-50 rounded-md;
}
.footer-link {
  @apply text-cream-300/90 hover:text-white transition-colors;
}

/* Prose-like body for server bios and newsletter posts (we render raw HTML) */
.rich-body p { margin: 0 0 1rem; line-height: 1.7; }
.rich-body h2 { font-size: 1.5rem; font-weight: 700; margin: 1.5rem 0 0.75rem; color: #0F1E3D; }
.rich-body h3 { font-size: 1.25rem; font-weight: 700; margin: 1.25rem 0 0.5rem; color: #0F1E3D; }
.rich-body ul { list-style: disc; padding-left: 1.5rem; margin: 0 0 1rem; }
.rich-body ol { list-style: decimal; padding-left: 1.5rem; margin: 0 0 1rem; }
.rich-body li { margin-bottom: 0.35rem; line-height: 1.65; }
.rich-body a { color: #C8102E; text-decoration: underline; }
.rich-body strong { font-weight: 700; }
.rich-body em { font-style: italic; }
.rich-body blockquote {
  border-left: 3px solid #C8102E;
  padding-left: 1rem;
  margin: 1rem 0;
  color: #374151;
  font-style: italic;
}

/* Form controls default styling */
.ws-input, .ws-select, .ws-textarea {
  @apply block w-full rounded-md border border-stone-300 bg-white px-3 py-2 text-sm text-navy-900
         shadow-sm placeholder:text-stone-400
         focus:border-signal-600 focus:outline-none focus:ring-2 focus:ring-signal-200;
}
.ws-label {
  @apply block text-sm font-semibold text-navy-800 mb-1.5;
}
.ws-help {
  @apply mt-1 text-xs text-stone-500;
}
.ws-error {
  @apply mt-1 text-xs text-signal-700;
}

/* Buttons */
.btn-primary {
  @apply inline-flex items-center justify-center gap-2 rounded-md bg-signal-700
         px-5 py-2.5 text-sm font-semibold text-white shadow-sm
         hover:bg-signal-800 transition-colors;
}
.btn-secondary {
  @apply inline-flex items-center justify-center gap-2 rounded-md border border-navy-800
         px-5 py-2.5 text-sm font-semibold text-navy-800 bg-white
         hover:bg-navy-50 transition-colors;
}
.btn-dark {
  @apply inline-flex items-center justify-center gap-2 rounded-md bg-navy-900
         px-5 py-2.5 text-sm font-semibold text-white shadow-sm
         hover:bg-navy-800 transition-colors;
}
.btn-ghost {
  @apply inline-flex items-center justify-center gap-2 rounded-md
         px-4 py-2 text-sm font-semibold text-navy-700
         hover:bg-stone-100 transition-colors;
}
.btn-danger {
  @apply inline-flex items-center justify-center gap-2 rounded-md bg-red-600
         px-5 py-2.5 text-sm font-semibold text-white
         hover:bg-red-700 transition-colors;
}

/* Status pills */
.pill { @apply inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium; }
.pill-draft { @apply bg-stone-100 text-stone-700; }
.pill-quoted { @apply bg-amber-100 text-amber-800; }
.pill-awaiting { @apply bg-orange-100 text-orange-800; }
.pill-paid { @apply bg-emerald-100 text-emerald-800; }
.pill-assigned { @apply bg-blue-100 text-blue-800; }
.pill-progress { @apply bg-indigo-100 text-indigo-800; }
.pill-served { @apply bg-green-100 text-green-800; }
.pill-affidavit { @apply bg-teal-100 text-teal-800; }
.pill-unserved { @apply bg-stone-200 text-stone-800; }
.pill-cancelled { @apply bg-red-100 text-red-700; }
