/* ============================================================
   NXT MkDocs Material Theme — pilot-matching overrides
   Aplicado em cima do Material; não substitui, sobrepõe.
   ============================================================ */

@import url('https://assets.plataforma.app/nxt-theme/tokens.css');

/* ─── Material color overrides ─── */
:root,
[data-md-color-scheme="default"],
[data-md-color-scheme="slate"] {
  --md-default-bg-color: var(--background);
  --md-default-bg-color--light: var(--card);
  --md-default-bg-color--lighter: var(--card);
  --md-default-bg-color--lightest: var(--popover);

  --md-default-fg-color: var(--foreground);
  --md-default-fg-color--light: var(--muted-foreground);
  --md-default-fg-color--lighter: var(--muted-foreground);
  --md-default-fg-color--lightest: var(--border);

  --md-primary-fg-color: var(--background);
  --md-primary-fg-color--light: var(--card);
  --md-primary-fg-color--dark: var(--background);
  --md-primary-bg-color: var(--foreground);
  --md-primary-bg-color--light: var(--muted-foreground);

  --md-accent-fg-color: var(--nxt);
  --md-accent-fg-color--transparent: oklch(from var(--nxt) l c h / 0.12);
  --md-accent-bg-color: var(--nxt-fg);
  --md-accent-bg-color--light: var(--card);

  --md-typeset-color: var(--foreground);
  --md-typeset-a-color: var(--nxt);

  --md-code-bg-color: var(--popover);
  --md-code-fg-color: var(--foreground);

  --md-code-hl-color: oklch(from var(--nxt) l c h / 0.20);
  --md-code-hl-keyword-color: var(--nxt);
  --md-code-hl-string-color: oklch(0.78 0.09 197);
  --md-code-hl-number-color: oklch(0.80 0.16 75);
  --md-code-hl-name-color: var(--foreground);
  --md-code-hl-special-color: oklch(0.70 0.18 22);

  --md-admonition-bg-color: var(--card);
  --md-admonition-fg-color: var(--foreground);

  --md-footer-bg-color: var(--sidebar);
  --md-footer-bg-color--dark: var(--background);
  --md-footer-fg-color: var(--muted-foreground);
}

/* ─── force fonts everywhere ─── */
:root {
  --md-text-font: 'Geist Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --md-code-font: 'Geist Mono Variable', 'JetBrains Mono', ui-monospace, monospace;
}
body, .md-typeset {
  font-family: var(--md-text-font);
  font-feature-settings: "ss01", "ss02", "cv11";
  letter-spacing: -0.005em;
}
code, pre, .md-typeset code {
  font-family: var(--md-code-font);
  font-feature-settings: "ss02";
}

/* ─── headings ─── */
.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4 {
  color: var(--foreground) !important;
  letter-spacing: -0.02em;
  font-weight: 600;
  font-family: var(--md-text-font);
}
.md-typeset h1 {
  border-bottom: 1px solid var(--border);
  padding-bottom: 0.75rem;
  font-size: 2rem;
  line-height: 1.15;
}
.md-typeset h2 {
  font-size: 1.5rem;
  margin-top: 2.5rem;
  line-height: 1.2;
}
.md-typeset h3 {
  font-size: 1.125rem;
  margin-top: 1.75rem;
  line-height: 1.3;
}

/* ─── header / topbar (esconde elementos duplicados/desnecessários pra match pilot) ─── */
.md-header {
  background: var(--sidebar) !important;
  border-bottom: 1px solid var(--border);
  height: var(--titlebar-h);
  backdrop-filter: blur(12px);
  box-shadow: none !important;
}

/* Esconde Material's palette toggle nativo (temos SunMoon próprio) */
.md-header__option,
form[data-md-component="palette"] {
  display: none !important;
}

/* Esconde GitHub source link (mantemos só símbolo + title + surface-nav + toggle) */
.md-header__source,
.md-source {
  display: none !important;
}
.md-header__title {
  font-family: var(--md-text-font);
  font-size: 0.875rem !important;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--foreground);
}
.md-header__inner {
  padding: 0 1rem !important;
}
.md-header__button {
  color: var(--muted-foreground);
}
.md-header__button:hover {
  color: var(--nxt);
}

/* ─── tabs (top-level nav) ─── */
.md-tabs {
  background: var(--sidebar);
  border-bottom: 1px solid var(--border);
}
.md-tabs__link {
  font-family: var(--md-code-font);
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted-foreground);
  opacity: 1;
}
.md-tabs__link--active,
.md-tabs__link:hover {
  color: var(--nxt) !important;
}

/* ─── sidebar nav ─── */
.md-sidebar {
  background: var(--background);
}
.md-nav {
  font-size: 13px;
}
.md-nav__title {
  color: var(--muted-foreground) !important;
  font-family: var(--md-code-font);
  font-size: 10px !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: transparent !important;
  padding: 0.4rem 0.6rem !important;
  margin-bottom: 0.4rem;
}
.md-nav__link {
  color: var(--foreground);
  border-radius: var(--radius-sm);
  padding: 4px 10px !important;
  margin: 1px 0;
  transition: background 120ms var(--ease-quart-out), color 120ms var(--ease-quart-out);
}
.md-nav__link:hover {
  background: var(--card);
  color: var(--nxt);
}
.md-nav__link--active,
.md-nav__link[data-md-state="blur"]:hover {
  background: oklch(from var(--nxt) l c h / 0.10) !important;
  color: var(--nxt) !important;
}

/* ─── content ─── */
.md-content {
  background: var(--background);
}
.md-content__inner {
  padding-top: 1rem;
}

/* ─── tables ─── */
.md-typeset table:not([class]) {
  background: var(--card) !important;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  font-size: 13px;
}
.md-typeset table:not([class]) th {
  background: var(--sidebar) !important;
  color: var(--muted-foreground) !important;
  font-family: var(--md-code-font);
  font-size: 11px !important;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 10px 12px !important;
  border-bottom: 1px solid var(--border);
}
.md-typeset table:not([class]) td {
  padding: 8px 12px !important;
  border-color: var(--border);
}
.md-typeset table:not([class]) tr:hover td {
  background: oklch(from var(--card) calc(l + 0.04) c h);
}

/* ─── code blocks ─── */
.md-typeset code {
  background: var(--popover) !important;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 1px 6px !important;
  font-size: 12px !important;
  color: var(--foreground);
}
.md-typeset pre code,
.md-typeset .highlight pre {
  background: var(--popover) !important;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  font-size: 12px !important;
  padding: 14px 16px !important;
}

/* ─── admonitions ─── */
.md-typeset .admonition,
.md-typeset details {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius);
  border-left: 3px solid var(--nxt) !important;
  font-size: 13px;
}
.md-typeset .admonition-title,
.md-typeset summary {
  background: oklch(from var(--nxt) l c h / 0.08) !important;
  color: var(--nxt) !important;
  font-family: var(--md-code-font);
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 500;
}

/* ─── search ─── */
.md-search__form {
  background: var(--card) !important;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}
.md-search__form:hover {
  background: var(--card) !important;
  border-color: var(--nxt);
}
.md-search__input {
  color: var(--foreground) !important;
  font-family: var(--md-text-font);
}
.md-search__input::placeholder {
  color: var(--muted-foreground);
}
.md-search-result__meta,
.md-search-result__article {
  background: var(--card);
}
.md-search-result__link {
  color: var(--foreground);
}
.md-search-result__link:hover {
  background: oklch(from var(--nxt) l c h / 0.08);
}

/* ─── tags ─── */
.md-tag {
  background: var(--card) !important;
  border: 1px solid var(--border);
  color: var(--foreground) !important;
  font-family: var(--md-code-font);
  font-size: 11px !important;
  border-radius: 999px;
  padding: 2px 10px !important;
  letter-spacing: 0;
  text-transform: lowercase;
}
.md-tag:hover {
  background: var(--nxt) !important;
  color: var(--nxt-fg) !important;
  border-color: var(--nxt);
}

/* ─── footer ─── */
.md-footer {
  background: var(--sidebar) !important;
}
.md-footer-meta {
  background: var(--background) !important;
  font-family: var(--md-code-font);
  font-size: 11px;
  color: var(--muted-foreground);
}
.md-footer-meta a {
  color: var(--nxt) !important;
}

/* ─── selection ─── */
::selection {
  background: var(--nxt);
  color: var(--nxt-fg);
}

/* ─── scrollbar ─── */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--background); }
::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 5px;
  border: 2px solid var(--background);
}
::-webkit-scrollbar-thumb:hover { background: var(--muted-foreground); }

/* ─── pretty links from social row ─── */
.md-social__link {
  color: var(--muted-foreground);
}
.md-social__link:hover {
  color: var(--nxt) !important;
}

/* ─── version selector / topnav ─── */
.md-version {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}

/* ─── content blocks subtle elevation ─── */
.md-typeset blockquote {
  background: var(--card);
  border-left: 3px solid var(--nxt);
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  font-style: normal;
  color: var(--muted-foreground);
  margin: 1rem 0;
}

/* ============================================================
   Page-load staggered animations
   ============================================================ */
@keyframes nxt-fade-up {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.md-header { animation: nxt-fade-up 380ms var(--ease-expo-out); }
.md-content__inner h1 { animation: nxt-fade-up 420ms 60ms var(--ease-expo-out) backwards; }
.md-content__inner > p:first-of-type { animation: nxt-fade-up 460ms 120ms var(--ease-expo-out) backwards; }
.md-typeset table { animation: nxt-fade-up 500ms 180ms var(--ease-expo-out) backwards; }
.md-typeset .admonition { animation: nxt-fade-up 480ms 240ms var(--ease-expo-out) backwards; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
