/* DUKE Help Centre — article styling. Loaded only on KB views. */
.kb-article{max-width:820px}
.kb-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 1.25rem}
.kb-badge{font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;padding:.28rem .6rem;border-radius:999px;background:#eef2f6;color:#33414f}
.kb-badge--tech{background:#22303c;color:#fff}
.kb-badge--basic{background:#e6f4ea;color:#1c6b34}
.kb-badge--advanced{background:#fbeae6;color:#a33417}

/* Callout + warning boxes (authors emit these as plain HTML) */
.kb-callout,.kb-warning{border-radius:10px;padding:1rem 1.15rem;margin:1.25rem 0;border-left:4px solid #2b6cb0;background:#f4f8fc}
.kb-warning{border-left-color:#d97706;background:#fff7ed}
.kb-callout p:last-child,.kb-warning p:last-child{margin-bottom:0}
.kb-callout strong,.kb-warning strong{display:block;margin-bottom:.25rem}

/* Numbered step cards */
.kb-steps{counter-reset:kbstep;list-style:none;padding:0;margin:1.5rem 0}
.kb-steps>li{counter-increment:kbstep;position:relative;padding:.9rem 1rem .9rem 3.1rem;margin:0 0 .75rem;background:#fff;border:1px solid #e7ebef;border-radius:10px}
.kb-steps>li::before{content:counter(kbstep);position:absolute;left:1rem;top:.9rem;width:1.5rem;height:1.5rem;line-height:1.5rem;text-align:center;border-radius:50%;background:#22303c;color:#fff;font-weight:700;font-size:.85rem}

/* Sticky TOC sidebar + diagrams */
.kb-toc{position:sticky;top:1.5rem;font-size:.9rem}
.kb-article img,.kb-article svg{max-width:100%;height:auto;border-radius:8px}
.kb-figure{margin:1.5rem 0}
.kb-figure figcaption{font-size:.85rem;color:#64748b;margin-top:.4rem;text-align:center}

/* "Still need help" CTA */
.kb-cta{margin:2rem 0 0;padding:1.25rem;border-radius:12px;background:#22303c;color:#fff}
.kb-cta a{color:#7ec8ff;font-weight:600}

/* Collapsible troubleshooting tree */
.kb-tree details{border:1px solid #e7ebef;border-radius:10px;padding:.6rem .9rem;margin:.5rem 0;background:#fff}
.kb-tree summary{cursor:pointer;font-weight:600}

/* ---- KB taxonomy archive (clean, doc-style, no images) ---- */
.kb-archive{max-width:820px;margin:0 auto;padding:2rem 1.25rem 3.5rem}
.kb-arch-head{margin:.25rem 0 1.25rem}
.kb-arch-title{font-size:2rem;margin:.2rem 0 .4rem;line-height:1.15}
.kb-arch-desc{color:#5b6b78;font-size:1.05rem;line-height:1.5;margin:0 0 .5rem;max-width:62ch}
.kb-arch-count{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#8a97a3;margin:0}
.kb-arch-search{margin:0 0 1.75rem}
.kb-archive .dkb{margin:0}

.kb-list{list-style:none;margin:0;padding:0;border-top:1px solid #e7ebef}
.kb-row{margin:0}
.kb-row-link{display:flex;flex-direction:column;gap:.15rem;padding:.85rem 1rem .85rem .25rem;border-bottom:1px solid #e7ebef;text-decoration:none;color:inherit;transition:background .12s,padding .12s}
.kb-row-link:hover{background:#f6f9fc;padding-left:1rem}
.kb-row-link:hover .kb-row-title{color:#2b6cb0}
.kb-row-title{font-weight:600;font-size:1.02rem;color:#22303c;position:relative}
.kb-row-link::after{content:"›";position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#c4cdd6;font-size:1.3rem;transition:color .12s,transform .12s}
.kb-row-link:hover::after{color:#2b6cb0;transform:translate(3px,-50%)}
.kb-row-ex{font-size:.9rem;color:#64748b;line-height:1.45;padding-right:1.5rem}
.kb-empty{color:#5b6b78;padding:1.5rem 0}
.kb-archive .kb-crumb{font-size:.85rem;color:#8a97a3;margin-bottom:.5rem}
.kb-archive .kb-crumb a{color:#2b6cb0;text-decoration:none}
.kb-archive .kb-crumb span[aria-hidden]{margin:0 .35rem;color:#c4cdd6}
.kb-archive .navigation.pagination{margin-top:1.5rem}
.kb-archive .nav-links{display:flex;gap:.4rem;flex-wrap:wrap}
.kb-archive .page-numbers{padding:.35rem .7rem;border:1px solid #e7ebef;border-radius:8px;text-decoration:none;color:#33414f}
.kb-archive .page-numbers.current{background:#22303c;color:#fff;border-color:#22303c}

/* ---- Table of contents (inline, top of article) ---- */
.kb-toc{background:#f6f9fc;border:1px solid #e1e9f1;border-radius:12px;padding:1rem 1.25rem;margin:0 0 1.75rem}
.kb-toc-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#8a97a3;font-weight:700;margin-bottom:.5rem}
.kb-toc ul{list-style:none;margin:0;padding:0;columns:2;column-gap:1.5rem}
.kb-toc li{margin:0 0 .35rem;break-inside:avoid}
.kb-toc a{color:#2b6cb0;text-decoration:none;font-size:.92rem}
.kb-toc a:hover{text-decoration:underline}
.kb-article h2{scroll-margin-top:90px}
@media(max-width:560px){.kb-toc ul{columns:1}}

/* ---- FAQ accordion ---- */
.kb-faq{margin:2.25rem 0 0;border-top:2px solid #eef2f6;padding-top:1.25rem}
.kb-faq h2{margin:0 0 .75rem}
.kb-faq-item{border:1px solid #e7ebef;border-radius:10px;margin:0 0 .55rem;background:#fff;overflow:hidden}
.kb-faq-item summary{cursor:pointer;font-weight:600;padding:.85rem 1rem;list-style:none;position:relative;color:#22303c}
.kb-faq-item summary::-webkit-details-marker{display:none}
.kb-faq-item summary::after{content:"+";position:absolute;right:1rem;top:.8rem;font-size:1.2rem;color:#8a97a3}
.kb-faq-item[open] summary::after{content:"–"}
.kb-faq-item[open] summary{border-bottom:1px solid #eef2f6}
.kb-faq-a{padding:.4rem 1rem 1rem;color:#3f4d59;line-height:1.55}
.kb-faq-a p{margin:.5rem 0}

/* ---- Related guides ---- */
.kb-related{margin:2.25rem 0 0;border-top:2px solid #eef2f6;padding-top:1rem}
.kb-related h3{margin:0 0 .5rem}
.kb-related ul{margin:0;padding-left:1.1rem}
.kb-related li{margin:.3rem 0}
.kb-related a{color:#2b6cb0;text-decoration:none}
