.kb-callout { border-inline-start: 4px solid; border-radius: 4px; padding: .75rem 1rem; margin: 1rem 0; }
.kb-callout--info { border-color: #0d6efd; background: #f0f6ff; }
.kb-callout--warning { border-color: #ffc107; background: #fff9e6; }
.kb-callout--important { border-color: #dc3545; background: #fdf0f1; }
.kb-expand { border: 1px solid #dee2e6; border-radius: 4px; padding: .5rem 1rem; margin: 1rem 0; }
.kb-expand > summary { cursor: pointer; font-weight: 600; }
/* Imported screenshots carry their intrinsic size (Zendesk originals run ~1900px wide) and
   would otherwise scroll the whole page sideways. Long code lines do the same. */
.kb-content img, .kb-editor-surface img { max-width: 100%; height: auto; }
.kb-content pre, .kb-editor-surface pre { background: #f6f8fa; border-radius: 6px; padding: .75rem; direction: ltr; overflow-x: auto; }
.kb-content code, .kb-editor-surface code { font-family: var(--bs-font-monospace); }
.kb-content table, .kb-editor-surface table { border-collapse: collapse; width: 100%; margin: 1rem 0; }
.kb-content th, .kb-content td, .kb-editor-surface th, .kb-editor-surface td
  { border: 1px solid #dee2e6; padding: .4rem .6rem; }
/* A header row is otherwise only bold, which reads as emphasis rather than as a
   header — and in the editor it makes the header toggles look like no-ops. */
.kb-content th, .kb-editor-surface th { background: #f8f9fa; }
.kb-content h1[id], .kb-content h2[id], .kb-content h3[id] { scroll-margin-top: 4rem; }

/* FR §21: a link to an article file reads as a file -- in the body (editor and reader
   alike, including Zendesk-imported links) and in the attachments lists. No sanitizer
   change: the selector keys on the media URL, not on a class. */
.kb-content a[href^="/kb/media/"]:not(:has(img))::before,
.kb-editor-surface a[href^="/kb/media/"]::before { content: "\1F4CE\00A0"; }

/* File-type chip shared by the editor panel, the Version page and the public page. */
.kb-file-badge {
    display: inline-block;
    min-width: 2.75rem;
    padding: .1rem .4rem;
    border: 1px solid #DBEAFE;
    background: #EFF6FF;
    color: #1E3A8A;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-align: center;
    text-transform: uppercase;
    direction: ltr;
}
.kb-attachments-list { padding-inline-start: 0; list-style: none; }
.kb-attachments-list li { display: flex; align-items: center; gap: .6rem; }
