/* Solarized Dark color scheme for MkDocs Material */
/* Based on Ethan Schoonover's Solarized palette */

:root {
  /* Solarized base colors */
  --sol-base03: #002b36;
  --sol-base02: #073642;
  --sol-base01: #586e75;
  --sol-base00: #657b83;
  --sol-base0: #839496;
  --sol-base1: #93a1a1;
  --sol-base2: #eee8d5;
  --sol-base3: #fdf6e3;

  /* Solarized accent colors */
  --sol-yellow: #b58900;
  --sol-orange: #cb4b16;
  --sol-red: #dc322f;
  --sol-magenta: #d33682;
  --sol-violet: #6c71c4;
  --sol-blue: #268bd2;
  --sol-cyan: #2aa198;
  --sol-green: #859900;
}

/* Apply Solarized Dark to Material slate scheme */
[data-md-color-scheme="slate"] {
  /* Background colors */
  --md-default-bg-color: var(--sol-base03);
  --md-default-bg-color--light: var(--sol-base02);
  --md-default-bg-color--lighter: var(--sol-base02);
  --md-default-bg-color--lightest: var(--sol-base01);

  /* Foreground/text colors */
  --md-default-fg-color: var(--sol-base0);
  --md-default-fg-color--light: var(--sol-base1);
  --md-default-fg-color--lighter: var(--sol-base01);
  --md-default-fg-color--lightest: var(--sol-base01);

  /* Primary color (used for links, headers, etc.) */
  --md-primary-fg-color: var(--sol-blue);
  --md-primary-fg-color--light: var(--sol-cyan);
  --md-primary-fg-color--dark: var(--sol-blue);
  --md-primary-bg-color: var(--sol-base03);
  --md-primary-bg-color--light: var(--sol-base02);

  /* Accent color (used for highlights, selections) */
  --md-accent-fg-color: var(--sol-cyan);
  --md-accent-fg-color--transparent: rgba(42, 161, 152, 0.1);
  --md-accent-bg-color: var(--sol-base02);

  /* Code block colors */
  --md-code-fg-color: var(--sol-base1);
  --md-code-bg-color: var(--sol-base02);
  --md-code-hl-color: rgba(42, 161, 152, 0.2);

  /* Typeset colors */
  --md-typeset-color: var(--sol-base0);
  --md-typeset-a-color: var(--sol-blue);

  /* Navigation */
  --md-footer-bg-color: var(--sol-base02);
  --md-footer-bg-color--dark: var(--sol-base03);
}

/* Header styling - use darker background for contrast */
[data-md-color-scheme="slate"] .md-header {
  background-color: #001f27;
  border-bottom: 1px solid var(--sol-base02);
}

/* Header title text */
[data-md-color-scheme="slate"] .md-header__title {
  color: var(--sol-base1);
}

/* Search icon */
[data-md-color-scheme="slate"] .md-search__icon {
  color: var(--sol-base1);
}

/* Search input when expanded */
[data-md-color-scheme="slate"] .md-search__form {
  background-color: var(--sol-base02);
}

/* Navigation sidebar */
[data-md-color-scheme="slate"] .md-nav--primary .md-nav__title {
  background-color: var(--sol-base02);
}

/* Navigation section headings - darker background to stand out */
[data-md-color-scheme="slate"] .md-nav__item--section > .md-nav__link {
  background-color: #001f27;
  color: var(--sol-base1);
  font-weight: 700;
  padding: 0.6rem 0.8rem;
  margin: 0.4rem 0 0.2rem 0;
  border-radius: 0.2rem;
  border-left: 3px solid var(--sol-blue);
}

/* Hover state for section headings */
[data-md-color-scheme="slate"] .md-nav__item--section > .md-nav__link:hover {
  background-color: var(--sol-base02);
}

/* Search bar */
[data-md-color-scheme="slate"] .md-search__input {
  background-color: var(--sol-base02);
  color: var(--sol-base1);
}

[data-md-color-scheme="slate"] .md-search__input::placeholder {
  color: var(--sol-base01);
}

/* Tables */
[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background-color: var(--sol-base02);
}

/* Admonitions - use Solarized accent colors */
[data-md-color-scheme="slate"] .md-typeset .admonition.note,
[data-md-color-scheme="slate"] .md-typeset details.note {
  border-color: var(--sol-blue);
}

[data-md-color-scheme="slate"] .md-typeset .admonition.warning,
[data-md-color-scheme="slate"] .md-typeset details.warning {
  border-color: var(--sol-yellow);
}

[data-md-color-scheme="slate"] .md-typeset .admonition.danger,
[data-md-color-scheme="slate"] .md-typeset details.danger {
  border-color: var(--sol-red);
}

[data-md-color-scheme="slate"] .md-typeset .admonition.tip,
[data-md-color-scheme="slate"] .md-typeset details.tip {
  border-color: var(--sol-green);
}
