/* ============================================================
   HypQuant Docs — Overrides para MkDocs Material
   Tokens: web/app/tokens.css (carregado antes via mkdocs.yml)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600&display=swap');

/* ── DARK MODE (slate) ──────────────────────────────────────── */

[data-md-color-scheme="slate"] {
  --md-default-bg-color:           var(--bg-base);
  --md-default-bg-color--light:    var(--bg-surface);
  --md-default-bg-color--lighter:  var(--bg-raised);
  --md-default-bg-color--lightest: var(--bg-overlay);

  --md-default-fg-color:           var(--text-primary);
  --md-default-fg-color--light:    var(--text-secondary);
  --md-default-fg-color--lighter:  var(--text-muted);

  --md-primary-fg-color:           var(--bg-surface);
  --md-primary-fg-color--light:    var(--bg-raised);
  --md-primary-fg-color--dark:     var(--bg-base);
  --md-primary-bg-color:           var(--text-primary);
  --md-primary-bg-color--light:    var(--text-secondary);

  --md-typeset-a-color:            var(--accent);
  --md-accent-fg-color:            var(--accent);
  --md-accent-fg-color--transparent: var(--accent-subtle);
  --md-accent-bg-color:            var(--bg-base);

  --md-code-bg-color:              var(--bg-surface);
  --md-code-fg-color:              var(--text-primary);
  --md-code-hl-color:              var(--accent-subtle);
}

[data-md-color-scheme="slate"] .md-header {
  background-color: var(--bg-surface);
  border-bottom: 1px solid var(--border-default);
  box-shadow: none;
}

[data-md-color-scheme="slate"] .md-tabs {
  background-color: var(--bg-surface);
  border-bottom: 1px solid var(--border-default);
}

/* ── LIGHT MODE (default) ───────────────────────────────────── */

[data-md-color-scheme="default"] {
  --md-default-bg-color:           var(--light-bg-base);
  --md-default-bg-color--light:    var(--light-bg-surface);
  --md-default-bg-color--lighter:  var(--light-bg-raised);
  --md-default-bg-color--lightest: var(--light-bg-overlay);

  --md-default-fg-color:           var(--light-text-primary);
  --md-default-fg-color--light:    var(--light-text-secondary);
  --md-default-fg-color--lighter:  var(--light-text-muted);

  --md-primary-fg-color:           var(--light-text-nav);
  --md-primary-bg-color:           var(--light-bg-base);

  --md-typeset-a-color:            var(--light-accent);
  --md-accent-fg-color:            var(--light-accent);

  --md-code-bg-color:              var(--light-bg-surface);
  --md-code-fg-color:              var(--light-text-primary);
}

[data-md-color-scheme="default"] .md-typeset h1 { color: var(--light-text-heading) !important; }
[data-md-color-scheme="default"] .md-typeset h2 { color: var(--light-text-heading) !important; border-bottom-color: var(--light-border) !important; }
[data-md-color-scheme="default"] .md-typeset h3 { color: var(--light-text-primary) !important; }
[data-md-color-scheme="default"] .md-typeset h4 { color: var(--light-text-primary) !important; }

[data-md-color-scheme="default"] .md-typeset p,
[data-md-color-scheme="default"] .md-typeset li,
[data-md-color-scheme="default"] .md-typeset td,
[data-md-color-scheme="default"] .md-typeset th { color: var(--light-text-primary) !important; }

[data-md-color-scheme="default"] .md-typeset table:not([class]) td {
  border-bottom-color: var(--light-border) !important;
}

[data-md-color-scheme="default"] .md-nav__link { color: var(--light-text-nav); }
[data-md-color-scheme="default"] .md-nav__title { color: var(--light-text-secondary); }

/* ── TIPOGRAFIA ─────────────────────────────────────────────── */

.md-typeset h1 {
  font-family: var(--font-display), var(--md-text-font-family), sans-serif;
  font-weight: 700;
  color: var(--text-heading);
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.md-typeset h2 {
  color: var(--text-heading);
  font-weight: 600;
  letter-spacing: -0.01em;
  border-bottom: 1px solid var(--border-default);
  padding-bottom: 0.3em;
}

.md-typeset h3 {
  color: var(--text-heading);
  font-weight: 600;
  letter-spacing: -0.01em;
}

.md-typeset code {
  font-size: 0.84em;
}

/* ── BADGES DE ENDPOINT ─────────────────────────────────────── */

.hq-method {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  font-family: var(--md-code-font-family), monospace;
  font-size: 0.72em;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  vertical-align: middle;
  margin-right: 6px;
}

.hq-get  { background: var(--accent-subtle); color: var(--accent); border: 1px solid var(--accent-dim); }
.hq-post { background: var(--data-positive-bg); color: var(--data-positive); border: 1px solid var(--data-positive-border); }

/* ── TABELAS ────────────────────────────────────────────────── */

.md-typeset table:not([class]) th {
  background-color: var(--bg-raised);
  color: var(--text-heading) !important;
  font-size: 0.75em;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-bottom: 1px solid var(--accent);
}

.md-typeset table:not([class]) td {
  border-bottom: 1px solid var(--border-default);
  color: var(--text-primary);
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) tr:hover td {
  background-color: var(--bg-overlay);
}

[data-md-color-scheme="default"] .md-typeset table:not([class]) tr:hover td {
  background-color: var(--light-bg-raised);
}

/* ── ADMONITIONS ────────────────────────────────────────────── */

.md-typeset .admonition.warning,
.md-typeset details.warning {
  border-color: var(--data-neutral);
}

.md-typeset .admonition.warning > .admonition-title,
.md-typeset details.warning > summary {
  background-color: var(--data-neutral-bg);
  color: var(--data-neutral) !important;
}

.md-typeset .admonition.warning > .admonition-title::before,
.md-typeset details.warning > summary::before {
  color: var(--data-neutral);
}

/* ── BLOCOS DE CÓDIGO ───────────────────────────────────────── */

[data-md-color-scheme="slate"] .md-typeset .highlight,
[data-md-color-scheme="slate"] .md-typeset .highlight pre,
[data-md-color-scheme="slate"] .md-typeset pre {
  background-color: var(--bg-surface) !important;
}

[data-md-color-scheme="default"] .md-typeset .highlight,
[data-md-color-scheme="default"] .md-typeset .highlight pre,
[data-md-color-scheme="default"] .md-typeset pre {
  background-color: var(--light-bg-surface) !important;
}

[data-md-color-scheme="slate"] {
  --md-code-bg-color: var(--bg-surface);
}

.md-typeset pre {
  border-radius: 4px;
}

[data-md-color-scheme="slate"] .md-typeset pre {
  border: 1px solid var(--border-default);
}

[data-md-color-scheme="default"] .md-typeset pre {
  border: 1px solid var(--light-border);
}

.md-typeset pre > code {
  background-color: transparent;
  border: none;
}

.md-clipboard { color: var(--text-muted); }
.md-clipboard:hover { color: var(--accent); }

/* ── NAVEGAÇÃO ──────────────────────────────────────────────── */

.md-nav__link--active,
.md-nav__item--active > .md-nav__link {
  color: var(--accent);
  font-weight: 500;
}

.md-tabs__link--active,
.md-tabs__link:hover {
  color: var(--accent);
}

/* ── SEARCH ─────────────────────────────────────────────────── */

[data-md-color-scheme="slate"] .md-search__input {
  background-color: var(--bg-raised);
  color: var(--text-primary);
  caret-color: var(--accent);
}

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

[data-md-color-scheme="slate"] .md-search__icon {
  color: var(--text-muted);
}

[data-md-color-scheme="slate"] .md-search__input:focus + .md-search__icon {
  color: var(--accent);
}

[data-md-color-scheme="default"] .md-search__input {
  background-color: var(--light-bg-raised);
  color: var(--light-text-primary);
  caret-color: var(--light-accent);
}

[data-md-color-scheme="default"] .md-search__input::placeholder {
  color: var(--light-text-muted);
}

[data-md-color-scheme="default"] .md-search__icon {
  color: var(--light-text-muted);
}

[data-md-color-scheme="default"] .md-search__input:focus + .md-search__icon {
  color: var(--light-accent);
}

[data-md-color-scheme="default"] .md-search-result__meta {
  color: var(--light-text-muted);
}

[data-md-color-scheme="default"] .md-search-result__teaser {
  color: var(--light-text-secondary);
}
