/* ─────────────────────────────────────────────
   Viana API Docs — Premium Dark Theme
   ───────────────────────────────────────────── */

:root {
  --viana-bg:        #0a0a0a;
  --viana-surface:   #111111;
  --viana-border:    #1f1f1f;
  --viana-muted:     #404040;
  --viana-text:      #e2e2e2;
  --viana-subtle:    #888888;
  --viana-amber:     #f5a623;
  --viana-amber-dim: #b37318;
  --viana-code-bg:   #0f0f0f;
  --viana-radius:    6px;
}

/* ── Reset Material's 125% base scaling to browser default ── */
html {
  font-size: 16px !important;
}

/* ── Global font override ── */
html,
body,
.md-typeset,
.md-nav,
.md-header,
.md-tabs,
.md-footer,
.md-search__input,
.md-clipboard,
input,
button {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* ── Base background ── */
[data-md-color-scheme="slate"] {
  --md-default-bg-color:          var(--viana-bg);
  --md-default-fg-color:          var(--viana-text);
  --md-default-fg-color--light:   var(--viana-subtle);
  --md-default-fg-color--lighter: var(--viana-muted);
  --md-code-bg-color:             var(--viana-code-bg);
  --md-code-fg-color:             #d4d4d4;
  --md-typeset-color:             var(--viana-text);
  --md-primary-fg-color:          var(--viana-bg);
  --md-primary-bg-color:          var(--viana-text);
  --md-accent-fg-color:           var(--viana-amber);
  --md-text-font:                 'DM Sans';
  --md-code-font:                 'DM Mono';
}

/* ── Header ── */
.md-header {
  background-color: var(--viana-bg);
  border-bottom: 1px solid var(--viana-border);
  box-shadow: none;
}

.md-header__title {
  font-weight: 500;
  letter-spacing: 0.01em;
  font-size: 0.78rem;
}

/* ── Navigation tabs ── */
.md-tabs {
  background-color: var(--viana-bg);
  border-bottom: 1px solid var(--viana-border);
}

.md-tabs__link {
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.5;
  color: var(--viana-text) !important;
  transition: opacity 0.15s ease;
  font-family: 'DM Sans', sans-serif !important;
}

.md-tabs__link:hover,
.md-tabs__link--active {
  opacity: 1;
  color: var(--viana-text) !important;
}

.md-tabs__link--active {
  border-bottom: 2px solid var(--viana-amber);
}

/* ── Sidebar navigation ── */
.md-nav__title {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--viana-subtle);
  padding: 0.6rem 0.6rem 0.3rem;
  font-family: 'DM Sans', sans-serif !important;
}

.md-nav__item .md-nav__link {
  font-size: 0.78rem;
  color: #888888;
  font-weight: 400;
  border-radius: var(--viana-radius);
  transition: color 0.15s ease, background 0.15s ease;
  padding: 0.25rem 0.6rem;
  font-family: 'DM Sans', sans-serif !important;
}

.md-nav__item .md-nav__link:hover {
  color: var(--viana-text);
  background: var(--viana-border);
}

.md-nav__item .md-nav__link--active {
  color: var(--viana-amber) !important;
  font-weight: 500;
  background: transparent;
}

/* ── Sidebar background ── */
.md-sidebar {
  background-color: var(--viana-bg);
}

.md-sidebar__inner {
  border-right: 1px solid var(--viana-border);
}

/* ── Main content area ── */
.md-content {
  background-color: var(--viana-bg);
}

.md-main__inner {
  margin-top: 0;
}

/* ── Base typeset size ── */
.md-typeset {
  font-size: 0.85rem;
  line-height: 1.7;
  font-family: 'DM Sans', sans-serif !important;
}

/* ── Typography ── */
.md-typeset h1 {
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: -0.025em;
  color: #f0f0f0;
  margin-bottom: 0.3em;
  line-height: 1.25;
  font-family: 'DM Sans', sans-serif !important;
}

.md-typeset h2 {
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: -0.015em;
  color: #d8d8d8;
  border-bottom: 1px solid var(--viana-border);
  padding-bottom: 0.35em;
  margin-top: 2.2em;
  font-family: 'DM Sans', sans-serif !important;
}

.md-typeset h3 {
  font-weight: 500;
  font-size: 0.9rem;
  color: #cccccc;
  margin-top: 1.8em;
  letter-spacing: -0.01em;
  font-family: 'DM Sans', sans-serif !important;
}

.md-typeset h4 {
  font-weight: 600;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--viana-subtle);
  margin-top: 1.6em;
  font-family: 'DM Sans', sans-serif !important;
}

.md-typeset p,
.md-typeset li {
  color: #a8a8a8;
  line-height: 1.7;
  font-family: 'DM Sans', sans-serif !important;
}

.md-typeset a {
  color: var(--viana-amber);
  text-decoration: none;
  font-weight: 450;
}

.md-typeset a:hover {
  color: #f7c06a;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ── Code blocks ── */
.md-typeset pre {
  background: var(--viana-code-bg) !important;
  border: 1px solid var(--viana-border);
  border-radius: var(--viana-radius);
}

.md-typeset code {
  background: #161616;
  border: 1px solid var(--viana-border);
  border-radius: 3px;
  font-size: 0.8em;
  color: #d4d4d4;
  padding: 0.1em 0.35em;
  font-family: 'DM Mono', monospace !important;
}

.md-typeset pre > code {
  background: transparent;
  border: none;
  padding: 0;
  font-family: 'DM Mono', monospace !important;
}

/* Highlighted code block header */
.highlight .filename {
  background: #161616;
  border-bottom: 1px solid var(--viana-border);
  font-size: 0.72rem;
  color: var(--viana-subtle);
  padding: 0.5rem 1rem;
  font-family: 'DM Mono', monospace !important;
}

/* Copy button */
.md-clipboard {
  color: var(--viana-muted);
}
.md-clipboard:hover {
  color: var(--viana-amber);
}

/* ── Tables ── */
.md-typeset table:not([class]) {
  border: 1px solid var(--viana-border);
  border-radius: var(--viana-radius);
  overflow: hidden;
  font-size: 0.73rem;
  font-family: 'DM Sans', sans-serif !important;
}

.md-typeset table:not([class]) th {
  background: #111111;
  color: #bbbbbb;
  font-weight: 600;
  font-size: 0.63rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  border-bottom: 1px solid var(--viana-border);
  padding: 0.5rem 0.9rem;
  font-family: 'DM Sans', sans-serif !important;
}

.md-typeset table:not([class]) td {
  border-bottom: 1px solid #161616;
  padding: 0.5rem 0.9rem;
  color: #999999;
  vertical-align: top;
  font-family: 'DM Sans', sans-serif !important;
}

.md-typeset table:not([class]) tr:last-child td {
  border-bottom: none;
}

.md-typeset table:not([class]) tr:hover td {
  background: #111111;
}

/* ── Admonitions ── */
.md-typeset .admonition {
  background: var(--viana-surface);
  border: 1px solid var(--viana-border);
  border-left: 2px solid var(--viana-amber);
  border-radius: var(--viana-radius);
  box-shadow: none;
  font-size: 0.75rem;
  font-family: 'DM Sans', sans-serif !important;
}

.md-typeset .admonition-title {
  background: #111111;
  font-weight: 600;
  font-size: 0.63rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-family: 'DM Sans', sans-serif !important;
}

.md-typeset .note > .admonition-title {
  border-left: 3px solid var(--viana-amber);
}

.md-typeset .warning > .admonition-title {
  border-left: 3px solid #e05252;
}

.md-typeset .tip > .admonition-title {
  border-left: 3px solid #4caf82;
}

/* ── Content tabs ── */
.md-typeset .tabbed-labels > label {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--viana-subtle);
  padding: 0.5rem 1rem;
  border-bottom: 2px solid transparent;
  font-family: 'DM Sans', sans-serif !important;
}

.md-typeset .tabbed-labels > label:hover {
  color: var(--viana-text);
}

.md-typeset .tabbed-set > input:checked + .tabbed-labels > label {
  color: var(--viana-amber);
  border-bottom-color: var(--viana-amber);
}

/* ── TOC ── */
.md-nav--secondary .md-nav__link {
  font-size: 0.72rem;
  color: var(--viana-subtle);
  font-family: 'DM Sans', sans-serif !important;
}

.md-nav--secondary .md-nav__link--active {
  color: var(--viana-amber) !important;
}

/* ── Footer ── */
.md-footer {
  background: var(--viana-bg);
  border-top: 1px solid var(--viana-border);
}

.md-footer-meta {
  background: var(--viana-bg);
}

.md-footer,
.md-footer-meta,
.md-footer__inner {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.7rem;
}

/* ── Search ── */
.md-search__form {
  background: var(--viana-surface);
  border: 1px solid var(--viana-border);
  border-radius: var(--viana-radius);
}

.md-search__input {
  font-size: 0.78rem;
  font-family: 'DM Sans', sans-serif !important;
}

.md-search__input::placeholder {
  color: var(--viana-muted);
}

/* ── Scrollbar ── */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: var(--viana-bg);
}

::-webkit-scrollbar-thumb {
  background: var(--viana-muted);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: #555555;
}

/* ── HTTP method badges ── */
.method-badge {
  display: inline-block;
  padding: 0.15em 0.5em;
  border-radius: 3px;
  font-size: 0.65rem;
  font-weight: 700;
  font-family: 'DM Mono', monospace !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-right: 0.5em;
}

.method-get    { background: #1a3a2a; color: #4caf82; border: 1px solid #2a5a3a; }
.method-post   { background: #1a2a3a; color: #5b8ff9; border: 1px solid #2a4a6a; }
.method-delete { background: #3a1a1a; color: #e05252; border: 1px solid #5a2a2a; }
.method-patch  { background: #2a2a1a; color: #d4aa3c; border: 1px solid #4a4a1a; }

/* ── Back to top button ── */
.md-top {
  background: var(--viana-surface);
  border: 1px solid var(--viana-border);
  color: var(--viana-subtle);
  font-family: 'DM Sans', sans-serif !important;
}

/* ── Mermaid diagrams ── */
.mermaid {
  background: var(--viana-surface) !important;
  border: 1px solid var(--viana-border);
  border-radius: var(--viana-radius);
  padding: 1.5rem;
}

/* ── Page meta ── */
.md-source-file {
  display: none;
}

/* ── Logo — hide if blank SVG ── */
.md-header__button.md-logo {
  display: none;
}
