/* /docs/ — shell around the Redoc reference: sticky bar, language tabs,
   search dialog, footer. Brand colours arrive as --d-* variables appended by
   build.mjs. Light reading surface (CONVERSION_DESIGN §2); the only solid
   CTA colour on screen is the bar's "free key" button. */

/* The site stylesheets set scroll-behavior:smooth; Redoc scrolls with
   scrollIntoView + scrollBy, which smooth scrolling cancels. Keep it instant. */
html{scroll-padding-top:64px;scroll-behavior:auto!important}
body.docs-page{margin:0;background:var(--d-bg);color:var(--d-text);font-family:var(--d-font);-webkit-font-smoothing:antialiased}
body.docs-page::before,body.docs-page::after{display:none}
.docs-shell{min-width:0}

/* ---- top bar ---------------------------------------------------------- */
.docs-bar{
  position:sticky;top:0;z-index:40;height:56px;display:flex;align-items:center;gap:10px;
  padding:0 16px 0 18px;background:color-mix(in srgb,var(--d-elev) 94%,transparent);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--d-line)
}
.docs-bar-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--d-text);font-weight:700;font-size:1.02rem;white-space:nowrap}
.docs-bar-brand img{display:block;border-radius:7px}
.qp-brand span{color:#0070ba}.qp-brand b{color:#003087}
.docs-bar-title{font-size:.9rem;font-weight:600;color:var(--d-muted);white-space:nowrap}
.docs-bar-actions{margin-left:auto;display:flex;align-items:center;gap:6px}
.docs-bar-link{color:var(--d-muted);font-size:.86rem;font-weight:550;padding:8px 12px;border-radius:8px;text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.docs-bar-link:hover{color:var(--d-text);background:rgba(14,18,32,.06)}
.docs-page .btn-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:10px;background:var(--d-cta);color:var(--d-cta-ink);font-weight:700;font-size:.84rem;text-decoration:none;white-space:nowrap}
.docs-page .btn-cta .lbl-short{display:none}
.docs-search-btn{
  display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 10px 0 12px;border-radius:10px;cursor:pointer;
  background:var(--d-bg);border:1px solid var(--d-line);color:var(--d-muted);font:550 .84rem/1 var(--d-font)
}
.docs-search-btn:hover{color:var(--d-text);border-color:var(--d-muted)}
.docs-search-btn kbd{font:600 .7rem/1 ui-monospace,Menlo,monospace;padding:3px 6px;border:1px solid var(--d-line);border-radius:5px;background:var(--d-elev);color:var(--d-muted)}

/* language tabs */
.docs-langs{display:flex;gap:2px;margin-left:12px;padding:3px;border:1px solid var(--d-line);border-radius:10px;background:var(--d-bg)}
.docs-langs a{color:var(--d-muted);text-decoration:none;font-size:.8rem;font-weight:600;padding:0 10px;min-height:32px;display:inline-flex;align-items:center;border-radius:7px;white-space:nowrap}
.docs-langs a:hover{color:var(--d-text)}
.docs-langs a[aria-current="page"]{background:var(--d-elev);color:var(--d-text);box-shadow:0 1px 2px rgba(14,18,32,.12)}

/* ---- lead line under the bar ------------------------------------------ */
.docs-lead{padding:14px 24px 0;font-size:.86rem;color:var(--d-muted);line-height:1.55;max-width:1200px}
.docs-lead p{margin:0 0 6px}
.docs-lead a{color:var(--d-link);text-decoration:none}
.docs-lead a:hover{text-decoration:underline}
.docs-crumbs{font-size:.8rem}

/* ---- Redoc integration ------------------------------------------------ */
.docs-main{min-width:0}
.docs-main .redoc-wrap{font-family:var(--d-font)}
.docs-main h1,.docs-main h2,.docs-main h3{letter-spacing:-.015em}
/* operation headings get an id for search sub-results; keep room for the bar */
.docs-main [id$="--h"]{scroll-margin-top:72px}
.docs-main .menu-content{top:56px!important;height:calc(100vh - 56px)!important;border-right:1px solid var(--d-line)}
.docs-main .menu-content label{min-height:40px;display:flex;align-items:center}
.docs-main table{font-size:15px}
.docs-main .api-content{min-width:0}
/* tables/code must scroll inside their box on phones, never the page.
   Redoc re-renders its own markup on the client, so this is CSS-only. */
.docs-main pre{max-width:100%;overflow:auto}
.docs-main table{display:block!important;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
.docs-main table td,.docs-main table th{white-space:normal;min-width:120px}
.docs-main code{overflow-wrap:anywhere}
/* Redoc's floating menu button on small screens: bottom-left, so it never
   sits under the site's assistant bubble (bottom-right). */
.docs-main .redoc-wrap > .menu-content + div{bottom:18px!important;left:18px!important;right:auto!important;z-index:45}

/* ---- footer (QD classes come from /styles.css; QP gets them here) -------- */
.footer{border-top:1px solid var(--d-line);background:var(--d-elev);padding:40px 24px 28px;font-size:.88rem;color:var(--d-muted)}
.foot-grid{display:grid;grid-template-columns:1.3fr repeat(auto-fit,minmax(150px,1fr));gap:28px 32px;max-width:1200px;margin:0 auto}
.foot-brand .fb-name{font-weight:800;font-size:1.05rem;color:var(--d-text)}
.foot-brand p{margin:8px 0 0;line-height:1.5}
.foot-col{display:grid;gap:6px;align-content:start}
.foot-col h4{margin:0 0 4px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--d-text)}
.foot-col a{color:var(--d-muted);text-decoration:none;min-height:28px;display:inline-flex;align-items:center}
.foot-col a:hover{color:var(--d-text)}
.foot-base{max-width:1200px;margin:28px auto 0;padding-top:18px;border-top:1px solid var(--d-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;font-size:.8rem}
.foot-base a{color:var(--d-muted)}
.qp-footer .fb-name b{color:#0070ba}

/* ---- search dialog ------------------------------------------------------ */
.docs-search{border:0;padding:0;background:transparent;width:min(720px,calc(100vw - 24px));max-height:min(80vh,720px);margin:6vh auto}
.docs-search::backdrop{background:rgba(14,18,32,.45);backdrop-filter:blur(2px)}
.docs-search-box{background:var(--d-elev);color:var(--d-text);border:1px solid var(--d-line);border-radius:16px;box-shadow:0 30px 80px -20px rgba(14,18,32,.45);overflow:hidden;display:flex;flex-direction:column;max-height:min(80vh,720px)}
.docs-search-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;font-size:.8rem;color:var(--d-muted);border-bottom:1px solid var(--d-line)}
.docs-search-close{font:600 .72rem/1 ui-monospace,Menlo,monospace;padding:6px 8px;border:1px solid var(--d-line);border-radius:6px;background:var(--d-bg);color:var(--d-muted);cursor:pointer;min-height:32px}
#docs-search-ui{padding:12px 14px 16px;overflow:auto;font-family:var(--d-font)}
#docs-search-ui{--pagefind-ui-scale:.9;--pagefind-ui-primary:var(--d-link);--pagefind-ui-text:var(--d-text);--pagefind-ui-background:var(--d-elev);--pagefind-ui-border:var(--d-line);--pagefind-ui-tag:var(--d-bg);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:10px;--pagefind-ui-font:var(--d-font)}
#docs-search-ui .pagefind-ui__search-input{font-size:1rem;min-height:46px;font-weight:500}
#docs-search-ui .pagefind-ui__result-title a{color:var(--d-link)}
#docs-search-ui .pagefind-ui__result-excerpt{color:var(--d-muted);font-size:.86rem}
#docs-search-ui mark{background:rgba(255,176,32,.35);color:inherit;border-radius:3px}
.docs-search-err{margin:0;color:var(--d-muted)}

/* ---- phones ---------------------------------------------------------------- */
@media (max-width:880px){
  .docs-bar{padding:0 10px;gap:6px}
  .docs-bar-title,.docs-bar-link,.docs-search-lbl,.docs-search-btn kbd{display:none}
  .docs-search-btn{padding:0 10px}
  .docs-page .btn-cta .lbl-full{display:none}
  .docs-page .btn-cta .lbl-short{display:inline}
  .docs-page .btn-cta{padding:0 10px;font-size:.78rem}
  .docs-langs{margin-left:0;overflow-x:auto;scrollbar-width:none;max-width:46vw}
  .docs-langs a{padding:0 9px;font-size:.76rem;min-height:40px}
  .docs-langs{padding:2px}
  .docs-lead{padding:12px 16px 0}
  .footer{padding:28px 16px 22px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
  .docs-search{margin:8px auto;max-height:calc(100vh - 16px)}
  .docs-search-box{max-height:calc(100vh - 16px)}
}
@media (max-width:480px){
  .docs-bar-brand span{display:none}
  .docs-langs{max-width:52vw}
}

/* embed variant (iframe in the app dashboard) */
.docs-embed .docs-bar-embed{padding:0 14px}
.docs-embed .docs-bar-embed .docs-bar-title{color:var(--d-text)}
.docs-embed .docs-bar-link{display:inline-flex}

/* QuantumProxies.io theme */
:root{--d-bg:#F5F7FA;--d-elev:#FFFFFF;--d-text:#0F172A;--d-muted:#475569;--d-line:#E1E7EB;--d-link:#0070ba;--d-cta:#0070ba;--d-cta-ink:#FFFFFF;--d-code:#0B1020;--d-code-ink:#E6EAF5;--d-font:Montserrat,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--d-font-head:Montserrat,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
