/*
 * Platform storefronts (kv_platform_hosts): parts shared by every platform design, loaded after the design stylesheet
 * on platform hosts only. Documentation tab of the platform products (panel made by tools/build-platform-docs.py) and
 * the platform versions of the licensing / support / about pages (templates/common/kv/plat/pages/).
 */

/* ---------- Documentation tab ---------- */
.kvp-docs { display: grid; gap: 8px; min-width: 0; }
.kvp-docs [id] { scroll-margin-top: 96px; }
.kvp-docs__toc { margin: 0 0 20px; }
.kvp-docs__toc a .ico--sm { margin-top: 3px; }
.kvp-docs__page { min-width: 0; padding: 28px 0 8px; border-top: 1px solid var(--line); }
.kvp-docs__page:first-of-type { border-top: 0; padding-top: 4px; }
.kvp-docs__page > h2 { margin: 0 0 14px; font-size: 22px; }
.kvp-docs__page h3 { font-size: 17px; margin: 28px 0 8px; }
.kvp-docs__page h4 { font-size: 15px; margin: 20px 0 6px; }
.kvp-docs__page h3.kvp-docs__q { font-size: 16px; margin: 22px 0 6px; }
.kvp-docs__page ul, .kvp-docs__page ol { margin: 0 0 14px; padding-left: 22px; max-width: 72ch; color: var(--ink-2); font-size: 15px; line-height: 1.6; }
.kvp-docs__page ul { list-style: disc; }
.kvp-docs__page ol { list-style: decimal; }
.kvp-docs__page li { margin: 0 0 6px; }
.kvp-docs__page li > ul, .kvp-docs__page li > ol { margin: 6px 0 0; }
.kvp-docs__page strong { color: var(--ink); font-weight: 600; }
.kvp-docs__page code { overflow-wrap: anywhere; }
.kvp-docs__page pre { margin: 0 0 14px; padding: 12px 14px; overflow-x: auto; background: var(--bg-2); border: 1px solid var(--line); border-radius: 8px; font-size: 13px; line-height: 1.55; }
.kvp-docs__page pre code { background: none; padding: 0; overflow-wrap: normal; white-space: pre; }
.kvp-docs__page blockquote { margin: 0 0 14px; padding: 4px 0 4px 14px; border-left: 3px solid var(--brand, var(--line)); }
.kvp-docs__page figure { margin: 6px 0 22px; max-width: 880px; }
.kvp-docs__page figure img { display: block; max-width: 100%; height: auto; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.kvp-docs__page p img { max-width: 100%; height: auto; }
.kvp-docs__page figcaption { margin-top: 8px; font-size: 13px; color: var(--ink-3); }
.kvp-docs__table { margin: 0 0 16px; overflow-x: auto; max-width: 100%; }
.kvp-docs__table table { border-collapse: collapse; min-width: 100%; font-size: 14px; line-height: 1.5; }
.kvp-docs__table th, .kvp-docs__table td { padding: 8px 12px 8px 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; color: var(--ink-2); }
.kvp-docs__table th { color: var(--ink); font-weight: 600; white-space: nowrap; }

/* ---------- Licensing / support / about on a platform host ---------- */
.kvp-page .prose ul { list-style: disc; padding-left: 22px; margin: 0 0 14px; max-width: 72ch; color: var(--ink-2); font-size: 15.5px; line-height: 1.65; }
.kvp-page .prose li { margin: 0 0 6px; }
.kvp-page .prose strong { color: var(--ink); font-weight: 600; }
.kvp-page__lede { max-width: 72ch; font-size: 17px; line-height: 1.6; color: var(--ink-2); margin: 6px 0 0; }
.kvp-page__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 24px 0 32px; padding: 0; list-style: none; }
.kvp-page__facts li { margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg, #fff); }
.kvp-page__facts b { display: block; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-3); font-weight: 600; margin-bottom: 4px; }
.kvp-page__facts span { color: var(--ink); font-size: 15px; line-height: 1.45; }
.kvp-page .kvp-page__more { margin-top: 28px; }
@media (max-width: 600px) {
  .kvp-docs__page > h2 { font-size: 20px; }
  .kvp-page__lede { font-size: 16px; }
}
