.wy-side-nav-search {
  background-color: #C8102E;
}

.wy-side-nav-search > div.version {
  color: rgba(255, 255, 255, 0.5);
}

.wy-side-nav-search > a:hover {
  background: rgba(255, 255, 255, 0.2);
}

.wy-nav-side {
  background: #2D2926;
}

.wy-nav-top {
  background: #C8102E;
}

span.c1 {
  font-style: normal;
}

.wy-menu-vertical a {
    color: #d9d9d9;
}

.wy-menu-vertical li.toctree-l2 a, .wy-menu-vertical li.toctree-l3 a, .wy-menu-vertical li.toctree-l4 a {
    color: #404040;
}

/* override table width restrictions */
@media screen and (min-width: 767px) {

   .wy-table-responsive table td {
      /* !important prevents the common CSS stylesheets from overriding
         this as on RTD they are loaded after this stylesheet */
      white-space: normal !important;
   }

   .wy-table-responsive {
      overflow: visible !important;
   }
}
/* WCAG 2.1 AA contrast fixes */
a.reference.external,
a.reference.internal {
  color: #237ab3;
}
a.headerlink {
  color: #237ab3;
}
code span.pre {
  color: #d83d2d;
}
footer p {
  color: #747474;
}

/* Admonition title - both class variants */
.admonition .admonition-title,
.admonition > .admonition-title {
  background-color: #367caa;
  color: #ffffff;
}

.admonition .admonition-title a {
  color: #ffffff !important;
  text-decoration: underline;
}
.admonition a.reference {
  color: #000305 !important;
  text-decoration: underline;
}

/* Sidebar nav */
.wy-nav-side .wy-menu-vertical a {
  color: #ffffff;
}
.wy-nav-side .wy-menu-vertical p.caption span.caption-text {
  color: #ffffff;
}
.wy-nav-side .wy-menu-vertical li a code,
.wy-nav-side .wy-menu-vertical li a code span,
.wy-nav-side .wy-menu-vertical li a code span.pre {
  background: #2D2926 !important;
  border: none !important;
  color: #ffffff !important;
  padding: 0 !important;
}

.wy-breadcrumbs code,
.wy-breadcrumbs code span.pre {
  background: #ffffff !important;
}

/* Breadcrumbs */
.wy-breadcrumbs a,
.wy-breadcrumbs li a {
  color: #237ab3;
}

/* Body links */
.wy-body-for-nav a strong {
  color: #1a6fa8;
}
blockquote a {
  color: #1a6fa8;
}
td a.reference.external,
td a.reference.internal {
  color: #1a6fa8 !important;
}
td ul a,
section a {
  color: #1a6fa8;
}

/* HTTP domain API signature elements */
.sig-paren {
  color: #000305;
}
dt em {
  color: #000305;
}

/* LSF warning table */
#lsfwarning td {
  color: #595959;
}
#lsfwarning td em {
  color: #595959;
}
#lsfwarning td em a {
  color: #1a6fa8 !important;
}
#lsfwarning td a.reference {
  color: #1a6fa8;
}

/* Screen reader only */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* Pygments syntax highlighting contrast fixes (WCAG 2.1 AA) */
.highlight .c, .highlight .ch, .highlight .cm,
.highlight .cp, .highlight .cpf, .highlight .c1,
.highlight .cs { color: #2d6a7a !important; }
.highlight .o, .highlight .ow { color: #4a4a4a !important; }
.highlight .s, .highlight .s1, .highlight .s2,
.highlight .sa, .highlight .sb, .highlight .sc,
.highlight .dl, .highlight .sd, .highlight .se,
.highlight .sh, .highlight .si, .highlight .sx,
.highlight .sr, .highlight .ss,
.highlight .na { color: #2d5a8e !important; }
.highlight .nv, .highlight .vc, .highlight .vg,
.highlight .vi, .highlight .vm { color: #7b3d9e !important; }
.highlight .go { color: #1a1a1a !important; }
.highlight .nn { color: #0a6a8a !important; }
.highlight .no { color: #2d6090 !important; }
.highlight .gi { color: #007000 !important; }
.highlight .nc { color: #0a6a8a !important; }


/* Admonition body content - ensure readable contrast */
.admonition {
  background-color: #ffffff;
}

.admonition p,
.admonition li,
.admonition div {
  color: #000305;
}

.admonition .admonition-title {
  /* keep your existing title styling */
}

/* Force readable contrast on admonition body content */
.admonition {
  background-color: #ffffff !important;
}

.admonition .admonition-title {
  /* keep blue background for the title bar */
  background-color: #367caa !important;
  color: #ffffff !important;
}

.admonition.warning .admonition-title,
.admonition.attention .admonition-title,
.admonition.caution .admonition-title {
  background-color: #a56833 !important;
}

.admonition.tip .admonition-title,
.admonition.hint .admonition-title {
  background-color: #00866c !important;
}

.admonition.important .admonition-title,
.admonition.danger .admonition-title,
.admonition.error .admonition-title {
  background-color: #b15e56 !important;
}

.admonition p,
.admonition li,
.admonition dd,
.admonition dt {
  color: #000305 !important;
  background-color: transparent !important;
}

#lsfwarning,
#lsfwarning p,
#lsfwarning span {
  color: #747474 !important;
}