/* Self-hosted fonts (OFL-1.1) — loaded from canonical branding/fonts-face.css */
@import url('fonts-face.css');

/* ---- Sidebar / navigation ---- */
.wy-side-nav-search {
  background-color: #6B4FA0;
  border-bottom: 3px solid #E8B84B;
}
.wy-side-nav-search > a,
.wy-side-nav-search .wy-dropdown > a {
  color: #F4F0FA;
  font-family: 'EB Garamond', 'Palatino Linotype', serif;
  font-style: italic;
  font-weight: 600;
}
.wy-side-nav-search .version {
  color: #E8B84B;
  font-family: 'Jost', 'Segoe UI', sans-serif;
}
.wy-nav-side {
  background-color: #2A1850;
}
.wy-menu-vertical a {
  color: rgba(244,240,250,0.82);
  font-family: 'Jost', 'Segoe UI', sans-serif;
}
.wy-menu-vertical a:hover {
  background-color: rgba(107,79,160,0.35);
  color: #E8B84B;
}
.wy-menu-vertical li.current > a,
.wy-menu-vertical li.current > a:hover {
  background-color: #6B4FA0;
  color: #F4F0FA;
  border-right: 3px solid #E8B84B;
}
.wy-menu-vertical li.toctree-l1.current > a {
  background-color: #6B4FA0;
}
.wy-menu-vertical li.toctree-l2.current > a {
  background-color: rgba(107,79,160,0.6);
}

/* ---- Topbar (mobile hamburger menu) ---- */
.wy-nav-top {
  background-color: #6B4FA0;
}
/* Move hamburger icon to the right to match the main Jekyll site */
@media screen and (max-width: 768px) {
  .wy-nav-top {
    display: flex;
    align-items: center;
  }
  .wy-nav-top i {
    order: 1;
    margin-left: auto;
    float: none;
  }
  .wy-nav-top a {
    float: none;
  }
}
.wy-nav-top a {
  color: #F4F0FA;
  font-family: 'EB Garamond', serif;
  font-style: italic;
}

/* ---- Base font size: match Jekyll site (root 22px → 1.05rem body = 23.1px) ---- */
html {
  font-size: 22px;
}

/* ---- Content area ---- */
.wy-nav-content-wrap { background-color: #F4F0FA; }
.wy-nav-content      { background-color: #F4F0FA; max-width: 1100px; }

/* ---- Headings ---- */
h1, h2, h3, h4, h5, h6 {
  font-family: 'EB Garamond', 'Palatino Linotype', serif;
  font-style: italic;
  font-weight: 600;
  color: #2A1850;
}
h2 {
  border-bottom: 2px solid #E8B84B;
  padding-bottom: 0.2em;
}

/* ---- Body text ---- */
.wy-nav-content p,
.wy-nav-content li,
.wy-nav-content dd,
.wy-nav-content td {
  font-family: 'EB Garamond', 'Palatino Linotype', serif;
  font-size: 1.05rem;
  line-height: 1.75;
  color: #2A1850;
}

/* ---- Links ---- */
a           { color: #6B4FA0; }
a:hover     { color: #C4664A; }
a:visited   { color: #5A3E8C; }
.wy-breadcrumbs a { color: #6B4FA0; }

/* ---- Visited links on dark sidebar/navbar backgrounds ---- */
.wy-side-nav-search > a:visited,
.wy-side-nav-search .wy-dropdown > a:visited {
  color: #F4F0FA;
}
.wy-menu-vertical a:visited {
  color: rgba(244,240,250,0.82);
}
.wy-menu-vertical li.current > a:visited {
  color: #F4F0FA;
}
.wy-nav-top a:visited {
  color: #F4F0FA;
}

/* ---- Code / pre ---- */
/* Disable Fira Code ligatures (-- would otherwise render as em-dash, etc.) */
.rst-content tt,
.rst-content code,
pre, div.highlight {
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0, "clig" 0, "calt" 0;
}
.rst-content tt,
.rst-content code,
.rst-content tt.literal,
.rst-content code.literal {
  font-family: 'Fira Code', 'Consolas', monospace;
  background-color: #E8E0F8;
  color: #5A3E8C;
  padding: 0.1em 0.3em;
  border-radius: 3px;
}
pre, div.highlight {
  font-family: 'Fira Code', 'Consolas', monospace;
  background-color: #E8E0F8;
  border-left: 3px solid #E8B84B;
}
.rst-content pre.literal-block,
.rst-content div[class^="highlight"] pre,
.rst-content .linenodiv pre {
  font-family: 'Fira Code', 'Consolas', monospace;
  font-size: 0.72rem;
}
div.highlight pre {
  background-color: transparent;
  color: #2A1850;
}

/* sphinx-copybutton: rtd-theme's .rst-content img rules force the icon
   to display: block with auto margins, which collapses the SVG and
   leaves only the (cropped) alt text "Copy" visible.  Restore inline
   rendering for the copy-button icon. */
.rst-content button.copybtn img {
  display: inline;
  margin: 0;
  padding: .2em;
  width: 100%;
  height: auto;
}

/* ---- Tables ---- */
/* sphinx-rtd-theme puts white-space: nowrap on <code> inside tables,
   which forces horizontal scrolling for tables containing long
   :cfunc:`...` names.  Allow wrapping instead. */
.rst-content table.docutils td,
.rst-content table.docutils th,
.wy-table-responsive table td,
.wy-table-responsive table th {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.rst-content table.docutils td code,
.rst-content table.docutils th code,
.wy-table-responsive table td code,
.wy-table-responsive table th code {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* ---- Tighten paragraph → list spacing ---- */
.wy-nav-content p:has(+ ul),
.wy-nav-content p:has(+ ol) {
  margin-bottom: 0;
}
.wy-nav-content p:has(+ dl) {
  margin-bottom: 12px;
}

/* ---- Admonitions (note / warning / hint) ---- */
.rst-content .note,
.rst-content .hint,
.rst-content .warning {
  background-color: #EDE8F7;
  border-left: 4px solid;
}
.rst-content .note  { border-color: #6B4FA0; }
.rst-content .hint  { border-color: #E8B84B; }
.rst-content .warning { border-color: #C4664A; }

.rst-content .note    > .admonition-title,
.rst-content .hint    > .admonition-title,
.rst-content .warning > .admonition-title {
  font-family: 'Jost', 'Segoe UI', sans-serif;
  font-weight: 600;
  font-style: normal;
}
.rst-content .note    > .admonition-title { background-color: #6B4FA0; color: #F4F0FA; }
.rst-content .hint    > .admonition-title { background-color: #E8B84B; color: #2A1850; }
.rst-content .warning > .admonition-title { background-color: #C4664A; color: #F4F0FA; }

.rst-content .note    > .admonition-title::before,
.rst-content .hint    > .admonition-title::before,
.rst-content .warning > .admonition-title::before {
  color: inherit;
}

/* ---- Spoiler / collapsible blocks ---- */
details {
  margin-bottom: 1.5em;
}

/* ---- Footer ---- */
footer {
  background-color: #EDE8F7;
  border-top: 1px solid #D6CCF0;
  font-family: 'Jost', 'Segoe UI', sans-serif;
  color: #8A7A9B;
}
#provsql-site-footer {
  text-align: center;
  padding: 0.8em 1em;
  background: #2A1850;
  border-top: 2px solid #E8B84B;
  font-family: 'Jost', 'Segoe UI', sans-serif;
  font-size: 0.85rem;
}
#provsql-site-footer a {
  color: rgba(244,240,250,0.85);
  text-decoration: none;
}
#provsql-site-footer a:hover {
  color: #E8B84B;
}
#provsql-site-footer .sep {
  margin: 0 0.4em;
  color: rgba(244,240,250,0.4);
}

/* :sc:`text` role — small caps for in-UI labels mentioned in prose. */
.smallcaps {
  font-variant: small-caps;
  letter-spacing: 0.04em;
}

/* :guilabel:`text` role — UI button / chip labels rendered in the body
   sans-serif font (not monospace), to match how they look in Studio. */
.guilabel {
  font-family: var(--font-sans, system-ui, sans-serif);
}
