/* ===== IntegraTax sidebar palette ===== */

/* Theme variables for light mode and default */
:root,
html[data-theme="light"] {
  --color-sidebar-background: #fdfcef;
  --color-sidebar-text: #196326;
  --color-link: #196326;
  --color-link-visited: #196326;
  --color-link-hover: #0f441e;
  --color-accent: #196326;
  --color-accent-contrast: #ffffff;
  --sidebar-active-border-color: #196326;
  --color-feedback-info: #196326;
  --color-feedback-link: #196326;
  --color-inline-code: #196326;
  --color-text-accent: #196326;
  --color-focus: #196326;
}

/* Dark mode: match light palette */
html[data-theme="dark"] {
  --color-sidebar-background: #fdfcef;
  --color-sidebar-text: #196326;
  --color-link: #196326;
  --color-link-visited: #196326;
  --color-link-hover: #0f441e;
  --color-accent: #196326;
  --color-accent-contrast: #ffffff;
  --sidebar-active-border-color: #196326;
}

/* === Sidebar base styles === */
html .side-bar {
  background-color: var(--color-sidebar-background) !important;
  color: var(--color-sidebar-text) !important;
  padding-left: 0 !important;
}

html .side-bar a,
html .side-bar .nav-list .nav-list-link,
html .side-bar .site-title,
html .side-bar .nav-list .nav-list-item {
  color: var(--color-sidebar-text) !important;
}

html .side-bar a:hover,
html .side-bar .nav-list .nav-list-link:hover {
  color: var(--color-link-hover) !important;
  text-decoration: underline;
}

.side-bar .nav-list .nav-list-link:hover {
  background-color: #e6f3ea !important;
  color: var(--color-link-hover) !important;
  border-left: 4px solid #196326 !important; /* use hardcoded fallback */
  box-sizing: border-box !important; /* ensure the border doesn't overflow */
}

.side-bar .nav-list .nav-list-link.active,
.side-bar .nav-list .nav-list-link[aria-current="page"] {
  background-color: #cde7d4 !important;
  color: #0f441e !important;
  font-weight: bold;
}

/* Disclosure chevron (dropdown arrow) */
.side-bar .nav-list .nav-list-item .nav-list-expander {
  color: #196326 !important;
  fill: currentColor !important;
  transition: color 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem;
  border-radius: 4px;
  background: transparent !important;
  box-shadow: none !important;
}

.side-bar .nav-list .nav-list-expander:hover,
.side-bar .nav-list .nav-list-expander:focus,
.side-bar .nav-list .nav-list-expander:active {
  color: #0f441e !important;
  background: transparent !important;
  box-shadow: none !important;
}

.side-bar .nav-list .nav-list-expander svg,
.side-bar .nav-list .nav-list-expander::before,
.side-bar .nav-list .nav-list-expander::after {
  fill: currentColor !important;
}

/* Arrow + text sync on hover */
.side-bar .nav-list .nav-list-item:hover > .nav-list-link,
.side-bar .nav-list .nav-list-item:hover > .nav-list-expander,
.side-bar .nav-list .nav-list-item > .nav-list-link.active,
.side-bar .nav-list .nav-list-item > .nav-list-expander + .nav-list-link.active,
.side-bar .nav-list .nav-list-item > .nav-list-link.active + .nav-list-expander {
  background-color: #cde7d4 !important;
  color: #0f441e !important;
}

/* Focus ring in green */
.side-bar a:focus,
.side-bar .nav-list .nav-list-link:focus,
.side-bar .nav-list .nav-list-expander:focus,
.page-content a:focus,
.page-content button:focus {
  outline: 2px solid #196326 !important;
  outline-offset: -2px !important;
  box-shadow: 0 0 0 0px rgba(25, 99, 38, 0.15) !important;
  background-image: none !important;
}

/* Remove all sidebar left padding */
.side-bar {
  padding-left: 0 !important;
}

/* Force logo+text to align flush left */
.side-bar .site-title {
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  text-align: left !important;
  width: 100%;
}

.site-header {
  display: flex;
  flex-direction: row-reverse;
  padding-left: 4rem;
  min-height: 3.75rem;
}

/* Remove any default spacing on the image */
.side-bar .site-title img {
  height: 58px !important;  /* ← pick 36–44px to taste */
  width: auto !important;   /* keep aspect ratio */
  margin: 0 !important;
  padding: 0 !important;
  display: block;
  object-fit: contain;
}

.side-bar .site-title-text {
  font-size: 1.75rem;
  font-weight: bold;
  color: #196326;
  line-height: 1.2;
  white-space: nowrap;
}

/* === Search bar styling === */
html .sidebar-search input.search-input {
  border: 1px solid #196326 !important;
  color: #196326 !important;
  background: #fff !important;
}

/* === Table of Contents styling === */
#toc-placeholder .toc {
  border: 1px solid #ddd;
  padding: 1rem;
  background-color: #fff;
  margin-bottom: 2rem;
  border-radius: 6px;
}

#toc-placeholder .toc h2 {
  margin-top: 0;
  font-size: 1.2rem;
  color: #196326;
}

/* === Content link color overrides === */
.page-content a,
.page-content a:visited,
.page-content a:active,
.page-content a:not(.btn),
.page-content a:not(.btn):visited,
.page-content a:not(.btn):active {
  color: #196326 !important;
  text-decoration: underline !important;
  text-decoration-color: #196326 !important;
  background: none !important;
  background-image: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.page-content a:hover,
.page-content a:focus,
.page-content a:focus-visible,
.page-content a:not(.btn):hover,
.page-content a:not(.btn):focus,
.page-content a:not(.btn):focus-visible {
  color: #0f441e !important;
  text-decoration-color: #0f441e !important;
  background: none !important;
  outline: none !important;
  box-shadow: none !important;
}

a,
a:visited,
a:active {
  color: #196326 !important;
  text-decoration: underline !important;
  text-decoration-color: #196326 !important;
  background: none !important;
  background-image: none !important;
}

a:hover,
a:focus {
  color: #0f441e !important;
  text-decoration-color: #0f441e !important;
  outline: none !important;
  box-shadow: none !important;
}
/* === Fix purple <svg> icons (e.g. #svg-link) === */

/* 1. Add brand green for icons (reusable var) */
:root {
  --color-icon: #196326;
}

/* 2. Ensure all icons inherit the current text color */
svg {
  fill: none !important;
  color: var(--color-icon) !important;
}

/* 3. Specifically target the 'link' icon if needed */
svg use[xlink\:href="#svg-link"] {
  fill: none !important;
  color: var(--color-icon) !important;
}

/* === FINAL override to remove click/keyboard border, outline, shadow on site title === */
/* Remove click/focus/hover border from site title, preserve layout */
.side-bar .site-title:focus,
.side-bar .site-title:active,
.side-bar .site-title:hover,
.side-bar .site-title a:focus,
.side-bar .site-title a:active,
.side-bar .site-title a:hover,
.side-bar .site-title,
.side-bar .site-title a,
.side-bar .site-title a:link,
.side-bar .site-title a:visited {
  text-decoration: none !important;
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
}


