.md-typeset h2,
.md-nav__item--section > .md-nav__link {
  color: var(--md-default-fg-color);
  font-weight: 700;
}


/* Worked examples: picture grids and gallery cards */
.oqp-figs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.8rem;
  margin: 1rem 0;
}
.oqp-figs figure { margin: 0; text-align: center; }
.oqp-figs img { width: 100%; border-radius: 6px; }
.oqp-figs figcaption { font-size: 0.75rem; color: var(--md-default-fg-color--light); }
.oqp-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  margin: 1rem 0;
}
.oqp-gallery a.oqp-card {
  display: block;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 8px;
  overflow: hidden;
  color: inherit;
}
.oqp-gallery a.oqp-card:hover { border-color: var(--md-accent-fg-color); }
.oqp-gallery .oqp-card img { width: 100%; display: block; }
.oqp-gallery .oqp-card p { margin: 0.5rem 0.7rem 0.7rem; font-size: 0.75rem; }
.oqp-gallery .oqp-card strong { display: block; font-size: 0.85rem; }

/* Separate navigation, article and on-page outline without changing their order. */
:root {
  --oqp-nav-bg: #edf3fa;
  --oqp-article-bg: #ffffff;
  --oqp-outline-bg: #f4f1e9;
  --oqp-column-line: #d7dfe8;
}
[data-md-color-scheme="slate"] {
  --oqp-nav-bg: #202b3e;
  --oqp-article-bg: #18212f;
  --oqp-outline-bg: #302c25;
  --oqp-column-line: #445064;
}
.md-main { background: var(--oqp-nav-bg); }
.md-content {
  background: var(--oqp-article-bg);
  border: 1px solid var(--oqp-column-line);
  border-radius: 0.45rem;
  min-width: 0;
}
.md-content__inner { padding: 1.05rem 1.2rem 1.6rem; margin-top: 0; }
.md-sidebar--primary .md-sidebar__scrollwrap {
  background: var(--oqp-nav-bg);
  border-radius: 0.45rem;
  padding: 0.8rem 0.55rem;
}
.md-sidebar--secondary .md-sidebar__scrollwrap {
  background: var(--oqp-outline-bg);
  border: 1px solid var(--oqp-column-line);
  border-radius: 0.45rem;
  padding: 0.8rem;
}
.md-nav__link--active { font-weight: 700; }
.oqp-reading-paths {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.8rem;
  margin: 1rem 0;
}
.oqp-reading-paths > div {
  border: 1px solid var(--oqp-column-line);
  border-radius: 0.45rem;
  padding: 0.85rem 1rem;
  background: var(--oqp-nav-bg);
}
.oqp-method-references { border-left: 3px solid #4278a7; padding-left: 0.85rem; }
@media screen and (max-width: 76.234375em) {
  .md-sidebar--primary { background: var(--oqp-nav-bg); }
}
@media screen and (max-width: 44.984375em) {
  .md-content { border: 0; border-radius: 0; }
  .md-content__inner { padding: 0.75rem 0.8rem 1rem; }
}

.md-sidebar .md-nav { background: transparent; }
.md-sidebar .md-nav__title { background: transparent; box-shadow: none; }
/* Let headings scroll with their lists instead of overlapping scrolled links. */
.md-sidebar .md-nav__title { position: static; }

/* Keep the company homepage reachable at desktop and mobile widths. */
.oqp-header-home {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin: 0 0.4rem;
  padding: 0.3rem 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 0.25rem;
  color: var(--md-primary-bg-color);
  font-size: 0.65rem;
  font-weight: 600;
  white-space: nowrap;
}
.oqp-header-home:hover, .oqp-header-home:focus-visible {
  background: rgba(255, 255, 255, 0.15);
}
@media screen and (max-width: 30em) {
  .oqp-header-home { margin: 0 0.2rem; padding: 0.3rem 0.4rem; }
}
