/* AllMCP public-site chrome — shared header/footer + prose for the marketing,
   legal, provider, contact, connect-key, and data-request pages.
   Loaded after tokens.css + base.css. Landing adds its own landing.css. */

.pub-header {
  position: sticky; top: 0; z-index: 30;
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; height: 60px; padding: 0 24px;
  background: rgba(6, 6, 7, 0.82); backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid var(--border);
}
.pub-header .wordmark { font-size: 15px; }
/* Design nav: right-aligned text links (Docs ↗ · Pricing · Sign in), no CTA buttons. */
.pub-nav { margin-left: auto; display: flex; align-items: center; gap: 6px; font-size: 13.5px; color: var(--text-muted); }
.pub-nav a { padding: 7px 12px; border-radius: var(--radius); transition: color 0.12s var(--ease), background 0.12s var(--ease); }
.pub-nav a:hover { color: var(--text); background: var(--panel); }

.pub-main { max-width: var(--content-max); margin: 0 auto; padding: 48px 24px 80px; }
.pub-narrow { max-width: 760px; }

/* Centered single-card pages (connect-key, contact, data-request) */
.pub-center { min-height: calc(100vh - 60px); display: flex; align-items: flex-start; justify-content: center; padding: 64px 20px 48px; }
.pub-card { width: 100%; max-width: 460px; background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 32px; }
.pub-card-head { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; margin-bottom: 24px; }
.pub-card-title { font-size: 20px; font-weight: 600; }
.pub-card-sub { font-size: 13.5px; color: var(--text-muted); line-height: 1.55; }

/* ---------- Footer (matches the design footer used on the landing) ---------- */
.pub-footer { border-top: 1px solid var(--border); }
.pub-footer-inner { max-width: var(--content-max); margin: 0 auto; padding: 64px 24px 56px; display: flex; gap: 48px; flex-wrap: wrap; }
.pub-footer .fbrand { flex: 1 1 240px; min-width: 220px; display: flex; flex-direction: column; gap: 12px; }
.pub-footer .fbrand .b { display: flex; align-items: center; gap: 9px; font-size: 13.5px; font-weight: 600; color: var(--text-muted); }
.pub-footer .fbrand .tag { font-size: 12.5px; color: var(--text-dim); }
.pub-footer .fcol { display: flex; flex-direction: column; gap: 10px; font-size: 13px; }
.pub-footer .fcol .h { font-family: var(--font-mono); font-size: 10px; color: var(--text-dim); letter-spacing: 0.06em; }
.pub-footer .fcol a { color: var(--text-muted); }
.pub-footer .fcol a:hover { color: var(--text); }
.pub-footer .fcol.mono a { font-family: var(--font-mono); font-size: 12px; }
.pub-footer .fprov { display: grid; grid-template-columns: auto auto; gap: 8px 24px; }
.pub-footer .status { display: flex; align-items: center; gap: 7px; }
.pub-footer .status .d { width: 6px; height: 6px; border-radius: 50%; background: var(--success); }

/* ---------- Prose (legal pages — typography per design 9a/9b) ---------- */
.prose { font-size: 16px; line-height: 1.7; color: #B9BCC2; }
.prose h1 { font-size: 40px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; color: var(--text); margin: 0 0 12px; }
.prose h2 { font-size: 20px; font-weight: 600; color: var(--text); margin: 48px 0 16px; letter-spacing: -0.01em; }
.prose h3 { font-size: 16px; font-weight: 600; color: var(--text); margin: 28px 0 8px; }
.prose h2[id], .prose h3[id] { scroll-margin-top: 84px; }
.prose p { margin: 0 0 20px; text-wrap: pretty; max-width: 72ch; }
.prose ul, .prose ol { margin: 0 0 20px; padding-left: 22px; }
.prose li { margin: 0 0 8px; }
.prose a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; transition: color 0.12s var(--ease); }
.prose a:hover { color: var(--accent-hover); }
.prose a[href^="mailto:"] { font-family: var(--font-mono); font-size: 14.5px; }
.prose code { font-family: var(--font-mono); font-size: 0.88em; background: var(--subtle); padding: 2px 6px; border-radius: 5px; }
.prose pre { background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; overflow-x: auto; margin: 0 0 20px; }
.prose pre code { background: none; padding: 0; }
/* Card-style tables (design 9a): rounded #111113 card, hairline row dividers,
   quiet 12px header — no full cell-border grid. */
.prose table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--panel); overflow: hidden; margin: 0 0 20px; font-size: 14px; }
.prose th, .prose td { text-align: left; vertical-align: top; }
.prose th { font-size: 12px; font-weight: 400; color: var(--text-muted); padding: 10px 20px; border-bottom: 1px solid var(--border); }
.prose td { padding: 13px 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.06); color: var(--text-muted); line-height: 1.55; }
.prose td:first-child { color: var(--text); }
.prose tr:last-child td { border-bottom: none; }
.prose hr { border: none; border-top: 1px solid var(--border); margin: 32px 0; }
.prose blockquote { border-left: 3px solid var(--border-strong); margin: 0 0 20px; padding: 4px 0 4px 16px; color: var(--text-muted); }
/* Doc-meta line under the h1 (design 9a: JetBrains Mono 12px #55565C). */
.doc-meta { font-family: var(--font-mono); font-size: 12px; color: var(--text-dim); margin-bottom: 44px; }

/* ---------- Legal layout (design 9a: 680px content + sticky 200px ToC) ---------- */
.legal-body { display: grid; grid-template-columns: 1fr minmax(0, 680px) 200px 1fr; gap: 0 48px; padding: 72px 0 96px; }
.legal-content { grid-column: 2; min-width: 0; }
.legal-toc { grid-column: 3; position: relative; }
.legal-toc-inner { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 10px; font-size: 13px; padding-top: 8px; max-height: calc(100vh - 120px); overflow-y: auto; }
.legal-toc .toc-label { font-family: var(--font-mono); font-size: 10px; color: var(--text-dim); letter-spacing: 0.06em; margin-bottom: 2px; }
.legal-toc a { color: var(--text-muted); line-height: 1.4; transition: color 0.12s var(--ease); }
.legal-toc a:hover { color: var(--text); }

/* Breadcrumbs (feed BreadcrumbList structured data → search breadcrumb + sitelink eligibility) */
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; color: var(--text-dim); margin-bottom: 22px; }
.crumbs a { color: var(--text-muted); }
.crumbs a:hover { color: var(--text); }
.crumbs .crumb-sep { color: var(--text-dim); }
.crumbs [aria-current="page"] { color: var(--text); }

/* ToC rail no longer fits: collapse to a single centered column (design 9b hides it). */
@media (max-width: 1100px) {
  .legal-toc { display: none; }
  .legal-body { display: block; max-width: 728px; margin: 0 auto; padding: 56px 24px 80px; }
}

@media (max-width: 760px) {
  .pub-footer-inner { gap: 32px; }

  /* Legal mobile (design 9b: 375px · ToC hidden · table rows stack) */
  .legal-body { padding: 40px 20px 56px; }
  .prose h1 { font-size: 28px; line-height: 1.2; margin: 0 0 10px; }
  .prose h2 { margin: 36px 0 12px; }
  .prose p { margin: 0 0 18px; }
  .doc-meta { font-size: 11.5px; margin-bottom: 28px; }
  /* Tables stack: each row becomes a block inside the same rounded card,
     first cell as the row title, remaining cells as muted detail lines. */
  .prose table, .prose tbody, .prose tr, .prose th, .prose td { display: block; }
  .prose thead { display: none; }
  .prose tr { padding: 13px 16px; border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
  .prose tr:last-child { border-bottom: none; }
  .prose td { padding: 0; border-bottom: none; }
  .prose td:first-child { font-size: 14px; }
  .prose td:not(:first-child) { font-size: 12.5px; margin-top: 3px; }
}

/* Mobile public header (design 11c: 56px bar, 18px logo, "Docs" + "Sign in" at 13px) */
@media (max-width: 640px) {
  .pub-header { height: 56px; padding: 0 20px; }
  .pub-header .wordmark { font-size: 14.5px; gap: 8px; }
  .pub-header .wordmark svg { width: 18px; height: 18px; }
  .pub-nav { font-size: 13px; gap: 4px; }
  .pub-nav a { padding: 6px 10px; }
  .pub-nav a[href="/#pricing"] { display: none; }
  .pub-nav a span[aria-hidden="true"] { display: none; }
}
