/* ===========================================================================
   Docs content typography — sn-docs-content wrapper provido por DocsLayout
   Tokens OpenConnection, respeita data-theme dark via cascata
   =========================================================================== */
.sn-docs-content {
  padding: 32px 24px;
  max-width: 920px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1.7;
  color: var(--fg-strong);
}
.sn-docs-content h1 {
  font-size: 28px; font-weight: 700; color: var(--fg-strong);
  margin: 0 0 12px;
}
.sn-docs-content h2 {
  font-size: 22px; font-weight: 700; color: var(--fg-strong);
  margin: 32px 0 12px;
  border-bottom: 1px solid var(--border-soft);
  padding-bottom: 6px;
}
.sn-docs-content h3 {
  font-size: 17px; font-weight: 600; color: var(--fg-strong);
  margin: 24px 0 10px;
}
.sn-docs-content p { margin: 0 0 12px; }
.sn-docs-content ul, .sn-docs-content ol { padding-left: 22px; margin: 0 0 12px; }
.sn-docs-content li { margin-bottom: 4px; }
.sn-docs-content a { color: var(--seg-blue); text-decoration: underline; }
.sn-docs-content a:hover { color: var(--seg-blue-110); }

.sn-docs-content code {
  background: var(--bg-muted);
  color: var(--seg-blue-110);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Fira Code', 'JetBrains Mono', Consolas, monospace;
  font-size: 12.5px;
}
.sn-docs-content pre {
  background: var(--seg-blue-120);
  color: var(--border-soft);
  padding: 16px 20px;
  border-radius: 10px;
  overflow-x: auto;
  margin: 16px 0;
  font-family: 'Fira Code', 'JetBrains Mono', Consolas, monospace;
  font-size: 12.5px;
  line-height: 1.55;
}
.sn-docs-content pre code {
  background: transparent;
  color: inherit;
  padding: 0;
  border-radius: 0;
  font-size: inherit;
}

.sn-docs-content blockquote {
  border-left: 3px solid var(--seg-green);
  padding: 4px 14px;
  margin: 12px 0;
  color: var(--fg-secondary);
  background: var(--bg-muted);
  border-radius: 0 8px 8px 0;
}

.sn-docs-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0;
  background: var(--bg-surface);
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--border-soft);
}
.sn-docs-content th, .sn-docs-content td {
  text-align: left;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border-soft);
}
.sn-docs-content th {
  background: var(--bg-app);
  font-weight: 600;
  font-size: 12px;
  color: var(--fg-secondary);
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* ── Dark mode overrides ────────────────────────────────────── */
:root[data-theme="dark"] .sn-docs-content {
  color: var(--code-text);
}
:root[data-theme="dark"] .sn-docs-content h1,
:root[data-theme="dark"] .sn-docs-content h2,
:root[data-theme="dark"] .sn-docs-content h3,
:root[data-theme="dark"] .sn-docs-content h4 {
  color: var(--code-text-bright) !important;
}
:root[data-theme="dark"] .sn-docs-content p,
:root[data-theme="dark"] .sn-docs-content li,
:root[data-theme="dark"] .sn-docs-content dd {
  color: var(--code-text-dim);
}
:root[data-theme="dark"] .sn-docs-content dt,
:root[data-theme="dark"] .sn-docs-content strong {
  color: var(--code-text-bright) !important;
}
:root[data-theme="dark"] .sn-docs-content a {
  color: var(--code-hl-blue);
}
:root[data-theme="dark"] .sn-docs-content a:hover {
  color: var(--code-hl-blue-soft);
}
:root[data-theme="dark"] .sn-docs-content pre {
  background: var(--code-bg-dark);
}
:root[data-theme="dark"] .sn-docs-content code {
  background: var(--code-bg-quote) !important;
  color: var(--code-quote-text) !important;
  border: 1px solid var(--code-quote-border);
}
:root[data-theme="dark"] .sn-docs-content pre code {
  background: transparent !important;
  color: var(--border-soft) !important;
  border: none;
}
:root[data-theme="dark"] .sn-docs-content blockquote {
  background: var(--code-bg-table);
  color: var(--code-text-muted);
  border-left-color: var(--seg-green);
}
:root[data-theme="dark"] .sn-docs-content table {
  background: var(--code-bg-pre);
  border-color: var(--gray-90);
}
:root[data-theme="dark"] .sn-docs-content th {
  background: var(--gray-90) !important;
  color: var(--code-text-faint) !important;
}
:root[data-theme="dark"] .sn-docs-content td {
  color: var(--code-text-gray);
  border-color: var(--gray-90);
}

/* Inline code badges — alto contraste */
.sn-docs-content code.sn-tag-blue { display:inline-block; padding:3px 10px; border-radius:6px; background:var(--seg-blue); color:var(--brand-droplet-green); border:1px solid var(--brand-droplet-green); font-family:'Fira Code',Consolas,monospace; font-size:12.5px; font-weight:600; }
.sn-docs-content code.sn-tag-amber { display:inline-block; padding:3px 10px; border-radius:6px; background:var(--tag-amber-bg); color:var(--tag-amber-fg); border:1px solid var(--tag-amber-border); font-family:'Fira Code',Consolas,monospace; font-size:12.5px; font-weight:600; }
.sn-docs-content code.sn-tag-green { display:inline-block; padding:3px 10px; border-radius:6px; background:var(--brand-droplet-green); color:var(--seg-blue); border:1px solid var(--seg-blue); font-family:'Fira Code',Consolas,monospace; font-size:12.5px; font-weight:600; }

/* Mobile overflow fix */
.sn-docs-content table {
  overflow-x: auto;
  display: block;
  max-width: 100%;
}
@media (max-width: 640px) {
  .sn-docs-content pre {
    font-size: 11px;
  }
}
