/*
 * Header + primary tabs (Material for MkDocs).
 * Brand tokens: docs/stylesheets/general.css
 */

/* -------------------------------------------------------------------------- */
/* 1. Header shell                                                            */
/* -------------------------------------------------------------------------- */

.md-header[data-md-component="header"] {
  background-color: var(--tv-purple-50);
  background-image: none;
  border-bottom: 1px solid var(--tv-ink-divider);
  box-shadow: none;
  color: var(--md-default-fg-color);
}

.md-header__inner {
  min-height: 3.25rem;
}

/* -------------------------------------------------------------------------- */
/* 2. Logo (light / dark — see overrides/partials/logo.html)                  */
/* -------------------------------------------------------------------------- */

.md-header__button.md-logo img,
.md-nav__button.md-logo img,
.md-header__button.md-logo svg,
.md-nav__button.md-logo svg {
  height: 1rem;
}

.md-header__button.md-logo .md-logo--dark,
.md-nav__button.md-logo .md-logo--dark {
  display: none;
}

[data-md-color-scheme="slate"] .md-header__button.md-logo .md-logo--light,
[data-md-color-scheme="slate"] .md-nav__button.md-logo .md-logo--light {
  display: none;
}

[data-md-color-scheme="slate"] .md-header__button.md-logo .md-logo--dark,
[data-md-color-scheme="slate"] .md-nav__button.md-logo .md-logo--dark {
  display: block;
}

/* -------------------------------------------------------------------------- */
/* 3. Header title: separator + stacked site name / page topic                */
/* -------------------------------------------------------------------------- */

.md-header__title {
  border-left: 1px solid var(--tv-ink-divider);
  height: 1.5rem;
  line-height: 1.5rem;
  margin-left: 0.75rem;
  padding-left: 0.85rem;
}

.md-header__ellipsis {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  justify-content: center;
  line-height: 1.2;
}

/* Site name (first line) */
.md-header__topic:first-child .md-ellipsis {
  color: var(--tv-purple-700);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Current page / topic (second line) */
.md-header__topic[data-md-component="header-topic"] .md-ellipsis {
  color: #3c3c3b;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
}

/* -------------------------------------------------------------------------- */
/* 4. Primary navigation tabs                                               */
/* -------------------------------------------------------------------------- */

.md-tabs[data-md-component="tabs"] {
  background-color: var(--tv-purple-50);
  background-image: none;
  border-bottom: 1px solid var(--tv-ink-divider);
  box-shadow: 0 1px 0 rgba(100, 21, 191, 0.06), 0 8px 24px -16px rgba(100, 21, 191, 0.14);
  color: var(--md-default-fg-color);
}

.md-tabs__list {
  gap: 0.25rem;
}

.md-tabs__link {
  border-bottom: 3px solid transparent;
  border-radius: 0;
  color: #3c3c3b;
  font-weight: 500;
  height: 2.4rem;
  line-height: 2.4rem;
  margin: 0 0 -1px;
  opacity: 1;
  padding: 0 0.35rem;
}

.md-tabs__item--active .md-tabs__link {
  border-bottom-color: var(--tv-purple-700);
  color: var(--tv-purple-700);
  font-weight: 600;
}

/* -------------------------------------------------------------------------- */
/* 5. Search field (header): surface, border, radius only                    */
/* -------------------------------------------------------------------------- */

.md-header .md-search__form {
  background-color: var(--tv-purple-100);
  border: 1px solid rgba(100, 21, 191, 0.14);
  border-radius: 0.65rem;
  box-shadow: none;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.md-header .md-search__form:hover {
  background-color: var(--tv-purple-accent);
  border-color: rgba(100, 21, 191, 0.22);
}

[data-md-toggle="search"]:checked ~ .md-header .md-search__form {
  background-color: var(--tv-purple-100);
  border-color: rgba(100, 21, 191, 0.14);
  border-radius: 0.65rem 0.65rem 0 0;
  box-shadow: 0 0.35rem 1rem rgba(100, 21, 191, 0.1);
}

[data-md-toggle="search"]:checked ~ .md-header .md-search__form:hover {
  background-color: var(--tv-purple-100);
  border-color: rgba(100, 21, 191, 0.14);
}

/* Day mode — muted ink on light field (#8a8a89 ≈ rgba(60, 60, 59, 0.55)) */
[data-md-color-scheme="default"] .md-header .md-search__input::placeholder {
  color: #8a8a89;
  opacity: 1;
}

[data-md-color-scheme="default"] .md-header .md-search__icon[for="__search"] {
  color: #8a8a89;
}

/* -------------------------------------------------------------------------- */
/* 6. Dark palette (scheme: slate)                                          */
/* -------------------------------------------------------------------------- */

[data-md-color-scheme="slate"] .md-header[data-md-component="header"],
[data-md-color-scheme="slate"] .md-tabs[data-md-component="tabs"] {
  background-color: color-mix(in srgb, var(--md-default-bg-color) 82%, var(--tv-purple-900) 18%);
  border-bottom-color: rgba(196, 166, 255, 0.12);
}

[data-md-color-scheme="slate"] .md-header__title {
  border-left-color: rgba(255, 255, 255, 0.12);
}

[data-md-color-scheme="slate"] .md-header__topic:first-child .md-ellipsis {
  color: var(--tv-purple-muted);
}

[data-md-color-scheme="slate"] .md-header__topic[data-md-component="header-topic"] .md-ellipsis {
  color: var(--md-default-fg-color);
}

[data-md-color-scheme="slate"] .md-tabs__link {
  color: var(--md-default-fg-color);
}

[data-md-color-scheme="slate"] .md-tabs__item--active .md-tabs__link {
  border-bottom-color: var(--tv-purple-muted);
  color: var(--tv-purple-muted);
}

[data-md-color-scheme="slate"] .md-header .md-search__form {
  background-color: rgba(100, 21, 191, 0.2);
  border-color: rgba(196, 166, 255, 0.2);
}

[data-md-color-scheme="slate"] .md-header .md-search__form:hover {
  background-color: rgba(100, 21, 191, 0.28);
  border-color: rgba(196, 166, 255, 0.28);
}

body[data-md-color-scheme="slate"] [data-md-toggle="search"]:checked ~ .md-header .md-search__form {
  background-color: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
  border-radius: 0.65rem 0.65rem 0 0;
  box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.25);
}

body[data-md-color-scheme="slate"] [data-md-toggle="search"]:checked ~ .md-header .md-search__form:hover {
  background-color: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
}
