/* Shared knowledge layouts. All component rules stay within the knowledge pages. */
.kb-page { color:#374151; overflow-wrap:anywhere; }
.kb-page a { color:#086b9c; text-underline-offset:.18em; transition:color .15s,background-color .15s; }
.kb-page a:hover { color:#064e73; text-decoration:underline; }
.kb-page a:focus-visible,.kb-page button:focus-visible,.kb-page input:focus-visible,.kb-page .kb-table-wrap:focus-visible { outline:3px solid #075985; outline-offset:4px; }
.kb-page .page-title { padding:26px 0; }
.kb-page .kb-page-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.kb-page .kb-page-heading h1,.kb-page .kb-page-label { margin:0; font-size:28px; font-weight:600; line-height:1.5; color:var(--heading-color); }
.kb-page .kb-breadcrumbs { font-size:14px; }
.kb-page .kb-breadcrumbs ol { display:flex; flex-wrap:wrap; list-style:none; gap:10px; margin:0; padding:0; }
.kb-page .kb-breadcrumbs li+li::before { content:"/"; margin-right:10px; color:#89939d; }
.kb-page .kb-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:30px; align-items:start; padding-top:56px; padding-bottom:72px; }
.kb-page .kb-main { min-width:0; }
.kb-page .kb-count { font-size:14px; color:#66717d; margin:0 0 20px; line-height:1.7; }
.kb-page .kb-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.kb-page .kb-card { min-width:0; display:flex; flex-direction:column; background:var(--surface-color); box-shadow:0 4px 16px rgb(0 0 0 / 9%); }
.kb-page .kb-card-image { display:block; overflow:hidden; aspect-ratio:16/10; background:#edf3f6; }
.kb-page .kb-card-image img { display:block; width:100%; height:100%; object-fit:cover; }
.kb-page .kb-card-content { display:flex; flex-direction:column; padding:24px; flex:1; }
.kb-page .kb-card .kb-eyebrow { font-size:12px; margin:0 0 12px; line-height:1.7; }
.kb-page .kb-card h2 { font-size:21px; font-weight:700; line-height:1.6; margin:0 0 14px; }
.kb-page .kb-card h2 a { color:var(--heading-color); }
.kb-page .kb-card h2 a:hover { color:#086b9c; text-decoration:none; }
.kb-page .kb-card .kb-meta { display:flex; align-items:center; gap:8px; margin:0 0 18px; }
.kb-page .kb-card-summary { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; font-size:15px; line-height:1.85; margin:0 0 24px; }
.kb-page .kb-card-action { margin-top:auto; text-align:right; }
.kb-page .kb-read { display:inline-block; border-radius:4px; padding:8px 20px; background:#087cac; color:#fff; font-size:14px; line-height:1.5; }
.kb-page .kb-read:hover { color:#fff; background:#06618a; text-decoration:none; }
.kb-page .kb-empty { grid-column:1/-1; padding:30px; border:1px solid #dce3e8; }
.kb-page .kb-pagination { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:34px; font-size:14px; }
.kb-page .kb-detail-surface { background:var(--surface-color); padding:32px; box-shadow:0 4px 16px rgb(0 0 0 / 9%); }
.kb-page .kb-article { font-size:17px; line-height:1.95; }
.kb-page .kb-header h1 { font-size:clamp(26px,2.4vw,32px); line-height:1.45; color:var(--heading-color); margin:12px 0 20px; }
.kb-page .kb-eyebrow { color:#086b9c; font-size:14px; font-weight:600; margin:0 0 12px; }
.kb-page .kb-meta { color:#5c6571; font-size:14px; line-height:1.8; }
.kb-page .kb-summary { font-size:18px; line-height:1.9; margin:28px 0; }
.kb-page .kb-key-facts { border-top:1px solid #dce3e8; border-bottom:1px solid #dce3e8; padding:16px 0; margin:24px 0 36px; font-size:15px; }
.kb-page .kb-key-facts p { margin:5px 0; }
.kb-page .kb-body section { padding:0; background:transparent; overflow:visible; }
.kb-page .kb-body h2,.kb-page .kb-sources h2,.kb-page .kb-related h2 { font-size:24px; line-height:1.5; margin:36px 0 16px; color:var(--heading-color); }
.kb-page .kb-body h3 { font-size:20px; line-height:1.6; margin:24px 0 12px; }
.kb-page .kb-body p { margin:0 0 20px; }
.kb-page .kb-body a,.kb-page .kb-sources a,.kb-page .kb-consult a { text-decoration:underline; }
.kb-page ul,.kb-page ol { padding-left:1.5em; }
.kb-page .kb-body li { margin:0 0 12px; padding-left:.2em; }
.kb-page .kb-note { background:#f4f8fa; border-left:3px solid var(--accent-color); padding:18px 20px; margin:24px 0; font-size:16px; }
.kb-page .kb-note p { margin:0; }
.kb-page .kb-table-wrap { max-width:100%; overflow-x:auto; margin:24px 0; }
.kb-page table { width:100%; min-width:540px; border-collapse:collapse; font-size:15px; line-height:1.7; }
.kb-page caption { caption-side:top; color:#374151; font-weight:600; padding:0 0 12px; }
.kb-page td,.kb-page th { text-align:left; border:1px solid #cbd5df; padding:12px; }
.kb-page thead { background:#f2f6f8; }
.kb-page .kb-service { border-top:1px solid #dce3e8; margin-top:36px; }
.kb-page .kb-sources { border-top:1px solid #dce3e8; margin-top:36px; padding:0; font-size:14px; line-height:1.8; }
.kb-page .kb-sources li { margin-bottom:20px; }
.kb-page .kb-sources p { color:#5c6571; margin-top:8px; }
.kb-page .kb-related { padding:0; margin-top:36px; }
.kb-page .kb-related li { margin:12px 0; }
.kb-page .kb-consult { padding:24px 0; border-top:1px solid #dce3e8; margin-top:30px; }

.kb-page .kb-sidebar-panel { background:var(--surface-color); padding:30px; box-shadow:0 4px 16px rgb(0 0 0 / 9%); }
.kb-page .kb-sidebar { min-width:0; font-size:15px; line-height:1.75; }
.kb-page .kb-sidebar-section { padding:0; margin:0 0 36px; background:transparent; overflow:visible; }
.kb-page .kb-sidebar-section:last-child { margin-bottom:0; }
.kb-page .kb-sidebar-section h2 { font-size:20px; font-weight:700; margin:0 0 20px; color:var(--heading-color); }
.kb-page .kb-search { display:flex; min-width:0; border:1px solid #acb7c0; border-radius:4px; }
.kb-page .kb-search:focus-within { border-color:#087cac; }
.kb-page .kb-search input { width:100%; min-width:0; border:0; background:transparent; border-radius:4px; padding:9px 10px; font-size:15px; color:#374151; }
.kb-page .kb-search button { border:0; background:#087cac; color:#fff; border-radius:0 3px 3px 0; padding:0 16px; }
.kb-page .kb-category-list,.kb-page .kb-recent-list,.kb-page .kb-tag-list { list-style:none; margin:0; padding:0; }
.kb-page .kb-category-list li { margin-bottom:12px; }
.kb-page .kb-category-list li:last-child { margin-bottom:0; }
.kb-page .kb-category-list a { color:#57616b; }
.kb-page .kb-category-list span { font-size:13px; color:#66717d; margin-left:4px; }
.kb-page .kb-sidebar [aria-current="page"] { color:#086b9c; font-weight:600; }
.kb-page .kb-recent-list li { margin-bottom:20px; }
.kb-page .kb-recent-list li:last-child { margin-bottom:0; }
.kb-page .kb-recent-list h3 { font-size:15px; font-weight:600; line-height:1.65; margin:0 0 6px; }
.kb-page .kb-recent-list a { color:#414d59; }
.kb-page .kb-recent-list time { display:block; font-size:13px; color:#697581; }
.kb-page .kb-tag-list { display:flex; flex-wrap:wrap; gap:8px; }
.kb-page .kb-tag-list li { margin:0; }
.kb-page .kb-tag-list a { display:block; border:1px solid #cbd3db; color:#56616c; padding:5px 11px; font-size:13px; line-height:1.6; }
.kb-page .kb-tag-list a:hover,.kb-page .kb-tag-list [aria-current] { color:white; background:#087cac; border-color:#087cac; text-decoration:none; }
.kb-page .kb-article-tags { border-top:1px solid #dce3e8; padding-top:22px; margin-top:28px; }
.kb-page .kb-article-tags>span { display:block; font-size:14px; font-weight:600; margin-bottom:12px; }
.kb-page td { white-space:nowrap; }
@media (min-width:992px) { .kb-page .kb-sidebar-panel { margin-top:44px; } .knowledge-details-page .kb-page .kb-sidebar-panel { margin-top:0; } }
@media (max-width:1199px) and (min-width:992px) { .kb-page .kb-card-content { padding:20px; } .kb-page .kb-card h2 { font-size:20px; } .kb-page .kb-sidebar-panel { padding:24px; } }
@media (max-width:991px) { .kb-page .kb-layout { grid-template-columns:minmax(0,1fr); gap:40px; padding-top:32px; } .kb-page .kb-main { width:100%; } .kb-page .kb-sidebar-panel { margin:0; } }
@media (max-width:767px) { .kb-page .kb-cards { grid-template-columns:minmax(0,1fr); } .kb-page .kb-page-heading { align-items:flex-start; flex-direction:column; gap:8px; } .kb-page .kb-detail-surface { padding:24px; } }
@media (max-width:575px) { .kb-page .kb-article { font-size:16px; line-height:1.95; } .kb-page .kb-header h1 { font-size:26px; } .kb-page .kb-summary { font-size:17px; } .kb-page .kb-card-content { padding:24px; } .kb-page .kb-card h2 { font-size:22px; } .kb-page .kb-body h2 { font-size:22px; } .kb-page .kb-detail-surface { padding:22px 18px; } .kb-page .kb-sidebar-panel { padding:26px; } }
