:root {
  --red:   #ef4444;
  --red-h: #dc2626;
  --red-hh: #B91C1C;
  --amber: #fbbf24;
}

/* ── Top search bar — black bg for dark logo ── */
.wy-side-nav-search {
  background: #000000;
}

.wy-side-nav-search > a img.logo {
  max-height: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 8px;
  box-sizing: border-box;
}

.wy-side-nav-search .version {
  display: none !important;
}

.wy-side-nav-search input[type=text] {
  border: 1px solid var(--red);
  border-radius: 4px;
  background: #ffffff;
  color: #000000;
}

/* ── Sidebar ── */
.wy-nav-side,
.wy-menu-vertical,
.wy-menu-vertical li,
.wy-menu-vertical ul,
.wy-menu-vertical li.current,
.wy-menu-vertical li.current ul,
.wy-menu-vertical li.toctree-l1,
.wy-menu-vertical li.toctree-l2,
.wy-menu-vertical li.toctree-l3,
.wy-menu-vertical li.toctree-l4 {
  background: var(--amber) !important;
}

.wy-menu-vertical a,
.wy-menu-vertical a:visited,
.wy-menu-vertical p,
.wy-menu-vertical p.caption,
.wy-menu-vertical li span,
.wy-menu-vertical label {
  color: #000000 !important;
  background: transparent !important;
  text-decoration: none !important;
}

.wy-menu-vertical p.caption {
  font-weight: 700;
}

.wy-menu-vertical a:hover,
.wy-menu-vertical li.current ul li a:hover {
  background: var(--red) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.wy-menu-vertical li.current > a,
.wy-menu-vertical li.on > a {
  background: var(--red) !important;
  color: #ffffff !important;
  font-weight: 600;
  text-decoration: none !important;
}

.wy-menu-vertical li.current > a .toctree-expand,
.wy-menu-vertical li.on > a .toctree-expand {
  color: #ffffff !important;
}

.wy-menu-vertical li.current ul li a,
.wy-menu-vertical li.current ul li a:visited {
  background: var(--amber) !important;
  color: #000000 !important;
  text-decoration: none !important;
}

/* ── Top nav bar ── */
.wy-nav-top {
  background: #ffffff;
  color: #000000;
}

.wy-nav-top a {
  color: #000000 !important;
  text-decoration: none !important;
}

.wy-nav-top i {
  color: #000000;
}

/* ── All links — black, no underline, no hover effect ── */
a,
a:visited,
a:hover,
.rst-content a,
.rst-content a:visited,
.rst-content a:hover,
.wy-breadcrumbs a,
.wy-breadcrumbs a:visited,
.wy-breadcrumbs a:hover,
.footer a,
.footer a:visited,
.footer a:hover,
.rst-content .reference.external,
.rst-content .reference.external:hover,
.rst-content .reference.internal,
.rst-content .reference.internal:hover,
.rst-content dl dt a,
.rst-content dl dt a:hover,
.rst-content .toctree-wrapper a,
.rst-content .toctree-wrapper a:hover {
  color: #000000 !important;
  text-decoration: none !important;
}

/* ── Hover — red on main content only, sidebar excluded ── */
.wy-nav-content-wrap a:hover,
.rst-content a:hover,
.wy-breadcrumbs a:hover,
.footer a:hover,
.rst-content .reference.external:hover,
.rst-content .reference.internal:hover,
.rst-content dl dt a:hover,
.rst-content .toctree-wrapper a:hover {
  color: var(--red) !important;
  text-decoration: none !important;
}

/* ── Buttons — white text on red, no underline ── */
.btn-neutral,
.btn-neutral:visited,
.btn-neutral:hover,
a.btn-neutral,
a.btn-neutral:visited,
a.btn-neutral:hover {
  background: var(--red) !important;
  color: #ffffff !important;
  border: 1px solid var(--red-hh) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.btn-neutral:hover,
a.btn-neutral:hover {
  background: var(--red-h) !important;
  border: 1px solid var(--red-hh) !important;
}

/* ── Headings ── */
.rst-content h1 {
  border-bottom: 2px solid var(--red);
  padding-bottom: 6px;
}

.rst-content h2 {
  border-bottom: 1px solid #fca5a5;
  padding-bottom: 4px;
}

/* ── Code ── */
.highlight {
  border-left: 3px solid var(--red);
}

.rst-content code,
.rst-content tt {
  color: var(--red);
  border: 1px solid #fca5a5;
  background: #fff7f7;
}

/* ── RTD version strip ── */
.rst-versions {
  background: #000000;
  border-top: 2px solid var(--amber);
}

.rst-versions .rst-current-version,
.rst-versions a,
.rst-versions span {
  color: var(--amber) !important;
  background: #000000 !important;
  text-decoration: none !important;
}

.rst-versions .rst-current-version:hover {
  background: var(--red) !important;
  color: #ffffff !important;
}