:root {
  --bcmp-debug-color: #2b6ea6;
  --bcmp-py-tint: #fbf4f6;
  --bcmp-r-color: #397e9e;
  --bcmp-r-tint: #f2f8fb;
  --bcmp-title-symbol: url("bcmp-title-symbol-light.svg");
  --pst-header-height: 4.75rem;
  --pst-color-accent: #d98da2;
  --pst-color-primary: #9c5268;
  --pst-color-secondary: #b7687f;
  --pst-color-link: #8b465c;
  --pst-color-link-hover: #6f3447;
}

/* Keep a real scrollbar on short pages, including in embedded browser views. */
body {
  min-height: calc(100vh + 1px);
}

html[data-theme="light"] {
  --bcmp-debug-color: #2b6ea6;
  --bcmp-py-tint: #fbf4f6;
  --bcmp-r-color: #397e9e;
  --bcmp-r-tint: #f2f8fb;
  --bcmp-title-symbol: url("bcmp-title-symbol-light.svg");
  --pst-color-accent: #d98da2;
  --pst-color-primary: #9c5268;
  --pst-color-secondary: #b7687f;
  --pst-color-link: #8b465c;
  --pst-color-link-hover: #6f3447;
}

html[data-theme="dark"] {
  --bcmp-debug-color: #87cbe5;
  --bcmp-py-tint: #291e23;
  --bcmp-r-color: #87cbe5;
  --bcmp-r-tint: #17252c;
  --bcmp-title-symbol: url("bcmp-title-symbol-dark.svg");
  --pst-color-accent: #d9869d;
  --pst-color-primary: #f2a9ba;
  --pst-color-secondary: #f7bcc9;
  --pst-color-link: #f2a9ba;
  --pst-color-link-hover: #ffd0db;
}

div.navbar-brand:hover {
  text-decoration: none;
}

.navbar-brand > a.logo {
  display: flex;
  align-items: center;
  height: 100%;
}

.navbar-brand img {
  max-height: 60px;
  width: auto;
}

.navbar-brand .logo__title {
  align-self: flex-start;
  color: var(--pst-color-primary);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  margin: 0.65rem 0 0 -0.25rem;
}

@media (max-width: 720px) {
  :root {
    --pst-header-height: 4.25rem;
  }

  .navbar-brand img {
    max-height: 52px;
  }

  .navbar-brand .logo__title {
    font-size: 0.75rem;
    margin-top: 0.55rem;
  }
}

.bcmp-home-package-badge {
  display: block;
  float: right;
  margin: -4.2rem 0 1.5rem 2.5rem;
  width: 9rem;
}

.bcmp-home-package-badge img,
.bcmp-package-sidebar__logo img {
  height: auto;
  width: 100%;
}

.bcmp-package-sidebar {
  border-bottom: 1px solid var(--pst-color-border);
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  text-align: center;
}

.bcmp-package-sidebar__logo {
  display: inline-block;
  width: 7.5rem;
}

.bcmp-package-switcher {
  align-items: baseline;
  display: flex;
  font-size: 0.88rem;
  gap: 0.45rem;
  justify-content: center;
  margin-top: 0.55rem;
}

.bcmp-package-switcher__current {
  color: var(--pst-color-primary);
  font-weight: 700;
}

.bcmp-package-switcher__separator {
  color: var(--pst-color-text-muted);
}

.bcmp-package-switcher a {
  color: var(--bcmp-r-color);
}

@media (max-width: 720px) {
  .bcmp-home-package-badge {
    margin: -3.2rem 0 1rem 1.25rem;
    width: 6rem;
  }
}

.bd-main .bd-content .bd-article-container {
  max-width: 58rem;
}

.bd-article > section:is(#method, #installation, #api, #output, #citation, #vignette) > h1::before {
  background: var(--bcmp-title-symbol) center / contain no-repeat;
  content: "";
  display: inline-block;
  height: 3rem;
  margin-right: 0.42em;
  vertical-align: -0.14em;
  width: 3rem;
}

.bcmp-lead {
  color: var(--pst-color-text-muted);
  font-size: 1.2rem;
  line-height: 1.65;
  margin-bottom: 2rem;
}

.bcmp-package-callout {
  background: linear-gradient(100deg, var(--bcmp-py-tint), var(--bcmp-r-tint));
  border: 1px solid var(--pst-color-border);
  border-left: 3px solid var(--pst-color-primary);
  border-radius: 0.45rem;
  margin: 1.25rem 0 2rem;
  padding: 0.9rem 1.05rem;
}

.bcmp-package-callout strong {
  color: var(--pst-color-primary);
}

.bcmp-package-callout a {
  display: inline-block;
  font-weight: 600;
  margin-left: 0.35rem;
}

.bcmp-method-flow {
  counter-reset: bcmp-method-step;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 1.25rem 0 2rem;
  padding: 0;
}

.bcmp-method-flow li {
  background: var(--bcmp-py-tint);
  border: 1px solid var(--pst-color-border);
  border-radius: 0.45rem;
  counter-increment: bcmp-method-step;
  min-height: 9.5rem;
  padding: 1rem 1rem 1rem 3.7rem;
  position: relative;
}

.bcmp-method-flow li::before {
  align-items: center;
  background: var(--pst-color-primary);
  border-radius: 50%;
  color: var(--bcmp-py-tint);
  content: counter(bcmp-method-step);
  display: flex;
  font-size: 0.9rem;
  font-weight: 700;
  height: 1.9rem;
  justify-content: center;
  left: 1rem;
  position: absolute;
  top: 1rem;
  width: 1.9rem;
}

.bcmp-method-flow strong,
.bcmp-method-flow span {
  display: block;
}

.bcmp-method-flow strong {
  color: var(--pst-color-primary);
  margin-bottom: 0.45rem;
}

.bcmp-method-flow span {
  color: var(--pst-color-text-base);
}

.bcmp-choice-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 1.75rem 0 2.25rem;
}

.bcmp-choice-card {
  border: 1px solid var(--pst-color-border);
  border-radius: 0.45rem;
  border-top-width: 3px;
  display: flex;
  flex-direction: column;
  min-height: 20.5rem;
  padding: 1.25rem;
}

.bcmp-choice-card__header {
  align-items: center;
  display: flex;
  gap: 1rem;
  margin-bottom: 1.1rem;
}

.bcmp-choice-card__logo {
  display: block;
  flex: 0 0 6.5rem;
  width: 6.5rem;
}

.bcmp-choice-card__logo img {
  height: auto;
  width: 100%;
}

.bcmp-choice-card h2 {
  font-size: 1.55rem;
  margin: 0 0 0.15rem;
}

.bcmp-choice-card__header p {
  color: var(--pst-color-text-muted);
  font-size: 0.92rem;
  margin: 0;
}

.bcmp-choice-card__action,
.bcmp-choice-card__pending {
  border-radius: 0.3rem;
  display: inline-block;
  font-size: 0.92rem;
  font-weight: 600;
  margin-top: auto;
  padding: 0.65rem 0.8rem;
  text-align: center;
}

.bcmp-choice-card__action {
  border: 1px solid var(--pst-color-primary);
  color: var(--pst-color-primary);
  text-decoration: none;
}

.bcmp-choice-card__action:hover {
  background: var(--pst-color-primary);
  color: var(--bcmp-py-tint);
  text-decoration: none;
}

.bcmp-choice-card__pending {
  border: 1px solid var(--bcmp-r-color);
  color: var(--bcmp-r-color);
}

.bcmp-choice-card--py {
  background: var(--bcmp-py-tint);
  border-top-color: var(--pst-color-primary);
}

.bcmp-choice-card--py h2 {
  color: var(--pst-color-primary);
}

.bcmp-choice-card--r {
  background: var(--bcmp-r-tint);
  border-top-color: var(--bcmp-r-color);
}

.bcmp-choice-card--r h2 {
  color: var(--bcmp-r-color);
}

.bcmp-choice-card--r .bcmp-choice-card__action {
  border-color: var(--bcmp-r-color);
  color: var(--bcmp-r-color);
}

.bcmp-choice-card--r .bcmp-choice-card__action:hover {
  background: var(--bcmp-r-color);
  color: var(--bcmp-r-tint);
}

.bd-article #vignette .sphx-glr-thumbnails {
  gap: 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 1.5rem 0 2.25rem;
}

.bd-article #vignette .sphx-glr-thumbcontainer {
  background: var(--pst-color-surface);
  border: 1px solid var(--pst-color-border);
  border-top: 3px solid var(--pst-color-primary);
  border-radius: 0.45rem;
  box-shadow: none;
  gap: 0;
  overflow: hidden;
  padding: 0;
}

.bd-article #vignette .sphx-glr-thumbcontainer .figure {
  margin: 0;
  width: 100%;
}

.bd-article #vignette .sphx-glr-thumbcontainer img {
  display: block;
  height: 13rem;
  max-height: none;
  max-width: none;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.bd-article #vignette .sphx-glr-thumbnail-title {
  align-self: stretch;
  color: var(--pst-color-text-base);
  font-size: 1.08rem;
  font-weight: 650;
  line-height: 1.3;
  padding: 0.75rem 1.1rem 0.85rem;
  text-align: left;
}

@media (max-width: 720px) {
  .bcmp-method-flow,
  .bcmp-choice-grid {
    grid-template-columns: 1fr;
  }

  .bcmp-method-flow li {
    min-height: 0;
  }

  .bcmp-choice-card {
    min-height: 0;
  }

  .bcmp-choice-card__pending,
  .bcmp-choice-card__action {
    margin-top: 1rem;
  }

  .bd-article #vignette .sphx-glr-thumbnails {
    grid-template-columns: 1fr;
  }
}

.bcmp-entry-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 1.5rem 0 2rem;
}

.bcmp-entry-card {
  border: 1px solid var(--pst-color-border);
  border-radius: 0.45rem;
  color: var(--pst-color-text-base);
  display: block;
  padding: 1rem 1.1rem;
  text-decoration: none;
}

.bcmp-entry-card:hover {
  background: var(--bcmp-py-tint);
  border-color: var(--pst-color-primary);
  box-shadow: 0 0.25rem 0.9rem rgb(0 0 0 / 8%);
  text-decoration: none;
}

.bcmp-entry-card strong {
  color: var(--pst-color-primary);
  display: block;
  margin-bottom: 0.35rem;
}

.bcmp-output-level-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 1.5rem 0 2rem;
}

.bd-article .docutils.container.bcmp-output-level-card {
  border: 1px solid var(--pst-color-border);
  border-radius: 0.45rem;
  padding: 1.25rem 3.25rem 1.5rem 1.5rem;
}

.bcmp-output-level-card > p:first-child {
  font-size: 1.08rem;
  font-weight: 700;
}

.bcmp-output-level-card > p:first-child a {
  color: inherit;
  text-decoration: none;
}

.bcmp-debug {
  color: var(--bcmp-debug-color);
}

.bcmp-output-level-card .highlight {
  margin: 0.75rem 0;
}

@media (max-width: 900px) {
  .bcmp-entry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 560px) {
  .bcmp-entry-grid {
    grid-template-columns: 1fr;
  }

  .bcmp-output-level-grid {
    grid-template-columns: 1fr;
  }
}

.sphx-glr-thumbcontainer {
  border-radius: 0.45rem;
}
