/* ==========================================================================
   Knowledge Base styles
   Public pages: index, category, article, search, breadcrumbs, feedback,
   Contact Support CTA.
   Admin pages: article form/preview.
   ========================================================================== */

/* ---- Shared layout ---- */

.kb-header {
  margin-bottom: var(--arp-space-6);
}

.kb-search-form {
  margin-bottom: var(--arp-space-6);
}

/* ---- Category cards (KB index) ---- */

.kb-category-card {
  display: block;
  height: 100%;
  color: inherit;
  transition: box-shadow 0.15s ease;
}

.kb-category-card:hover {
  box-shadow: var(--arp-shadow-md);
  color: inherit;
}

.kb-category-icon {
  color: var(--arp-accent);
}

.kb-category-description {
  color: var(--arp-text-secondary);
  margin-top: var(--arp-space-1);
}

/* ---- Article list (category page and search results) ---- */

.kb-article-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--arp-border);
}

.kb-article-list > li {
  border-bottom: 1px solid var(--arp-border);
  padding: var(--arp-space-3) var(--arp-space-2);
}

.kb-article-link {
  font-size: var(--bulma-size-normal);
  font-weight: 500;
}

.kb-search-result .kb-article-link {
  font-size: var(--bulma-size-medium);
  font-weight: 500;
}

.kb-article-link:hover {
  text-decoration: underline;
}

.kb-empty-state {
  color: var(--arp-text-muted);
  padding: var(--arp-space-8) 0;
}

/* ---- Article page ---- */

.kb-article-container {
  max-width: 48rem;
}

.kb-article-header {
  margin-bottom: var(--arp-space-4);
}

.kb-article-date {
  color: var(--arp-text-muted);
  font-size: var(--bulma-size-small);
  margin-top: var(--arp-space-1);
}

.kb-article-body {
  margin-top: var(--arp-space-6);
}

/* ---- Feedback section ---- */

.kb-feedback-section {
  padding: var(--arp-space-6) 0;
}

/* ---- Feedback buttons ---- */

.kb-feedback-btn {
  appearance: none;
  font: inherit;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: var(--arp-space-2);
  border-radius: var(--arp-radius-full);
  border-width: 1px;
  border-style: solid;
  padding: var(--arp-space-2) var(--arp-space-5);
  transition: box-shadow 0.15s ease, filter 0.15s ease;
}

.kb-feedback-btn:hover {
  box-shadow: var(--arp-shadow-md);
  filter: saturate(1.4);
}

.kb-feedback-btn--yes {
  background-color: var(--arp-status-success-bg);
  color: var(--arp-status-success-fg);
  border-color: var(--arp-status-success-border);
}

.kb-feedback-btn--no {
  background-color: var(--arp-status-danger-bg);
  color: var(--arp-status-danger-fg);
  border-color: var(--arp-status-danger-border);
}

/* ---- Contact Support CTA ---- */

.kb-support-cta {
  text-align: center;
  padding: var(--arp-space-6);
}

/* ---- Search results ---- */

.kb-result-count {
  color: var(--arp-text-secondary);
}

.kb-search-result {
  padding: var(--arp-space-3) var(--arp-space-2);
}

.kb-result-category {
  color: var(--arp-text-muted);
  font-size: var(--bulma-size-normal);
}

.kb-result-excerpt {
  color: var(--arp-text-muted);
  font-size: var(--bulma-size-normal);
  font-weight: normal;
  margin-top: var(--arp-space-1);
}

/* Structured content inside excerpts (Kramdown-generated) */

.kb-result-excerpt h1,
.kb-result-excerpt h2,
.kb-result-excerpt h3,
.kb-result-excerpt h4,
.kb-result-excerpt h5,
.kb-result-excerpt h6 {
  color: var(--arp-text-secondary);
  font-size: var(--bulma-size-normal);
  font-weight: 600;
  margin-bottom: var(--arp-space-1);
}

.kb-result-excerpt p {
  margin-bottom: var(--arp-space-2);
}

.kb-result-excerpt p:last-child,
.kb-result-excerpt ul:last-child,
.kb-result-excerpt ol:last-child {
  margin-bottom: 0;
}

.kb-result-excerpt ul,
.kb-result-excerpt ol {
  margin-left: var(--arp-space-4);
  margin-bottom: var(--arp-space-2);
}

.kb-result-excerpt ul {
  list-style-type: disc;
}

.kb-result-excerpt ol {
  list-style-type: decimal;
}

.kb-result-excerpt code {
  font-family: var(--arp-font-mono);
  background: var(--arp-surface-sunken);
  border-radius: var(--arp-radius-xs);
  padding: var(--arp-space-0-5) var(--arp-space-1);
}

.kb-result-excerpt mark {
  background-color: var(--arp-status-warning-bg);
  color: var(--arp-status-warning-fg);
  border-radius: var(--arp-radius-xs);
  padding: 0 var(--arp-space-0-5);
}

/* N-more toggle link */

.kb-more-toggle {
  color: var(--arp-accent);
  font-size: var(--bulma-size-normal);
  display: inline-block;
  margin-top: var(--arp-space-1);
}

.kb-more-toggle:hover {
  color: var(--arp-accent);
  text-decoration: underline;
}

/* Additional excerpts revealed by N-more toggle */

.kb-more-excerpts .kb-result-excerpt {
  margin-top: var(--arp-space-2);
  padding-top: var(--arp-space-2);
  border-top: 1px solid var(--arp-border-subtle);
}

/* ---- Admin: KB categories table ---- */

.kb-categories-description-cell {
  max-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ---- Admin: article preview pane ---- */

.kb-preview-pane {
  border: 1px solid var(--arp-border);
  border-radius: var(--arp-radius-md);
  padding: var(--arp-space-4);
  background: var(--arp-surface-raised);
  min-height: 8rem;
}
