/**
 * Swagger UI dark mode + MkDocs Material (slate) coexistence.
 * Native swagger rules use html.dark-mode; we keep Material page chrome via overrides.
 */

html.dark-mode {
  color-scheme: dark;
  background-color: var(--md-default-bg-color) !important;
}

html.dark-mode body,
html.dark-mode .md-container,
html.dark-mode .md-main,
html.dark-mode .md-content {
  background-color: var(--md-default-bg-color) !important;
  color: var(--md-default-fg-color) !important;
}

html.dark-mode .md-header,
html.dark-mode .md-tabs,
html.dark-mode .md-sidebar,
html.dark-mode .md-footer {
  background-color: var(--md-default-bg-color);
}

html.dark-mode .md-typeset {
  color: var(--md-default-fg-color);
}

html.dark-mode .md-typeset a {
  color: var(--md-typeset-a-color);
}

/* Swagger container inside API Explorer */
html.dark-mode .cve-swagger-wrap .swagger-ui {
  background: #1c2022;
  color: #e4e6e6;
}

html.dark-mode #swagger-ui.swagger-ui {
  border-color: rgba(255, 255, 255, 0.14);
}

html.dark-mode .cve-swagger-banner {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  color: var(--md-default-fg-color);
}

/* Fallback when JS has not toggled html.dark-mode yet (slate + explorer) */
[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui {
  background: #1c2022;
  color: #e4e6e6;
}

[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .scheme-container {
  background: #2a3033;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .opblock .opblock-summary {
  background: #2a3033;
}

[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .opblock .opblock-summary-path,
[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .opblock .opblock-summary-description {
  color: #e4e6e6;
}

[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .opblock-body,
[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .opblock-section-header {
  background: #1c2022;
  color: #e4e6e6;
}

[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .model-box,
[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .model {
  background: rgba(0, 0, 0, 0.25);
}

[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui input,
[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui textarea,
[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui select {
  background: #1c2022;
  border-color: #b7bcbf;
  color: #f0f1f1;
}

[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .btn {
  background: #2a3033;
  color: #e4e6e6;
  border-color: #b7bcbf;
}

[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .highlight-code,
[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .microlight,
[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .curl-command pre,
[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .responses-inner pre {
  background: #0d1014 !important;
  color: #e4e6e6 !important;
}

[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .info .title,
[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .info p,
[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .info li,
[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui section h3,
[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui table thead tr td,
[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui table thead tr th {
  color: #e4e6e6;
}

[data-md-color-scheme="slate"] .cve-swagger-wrap .swagger-ui .filter-container input[type="text"] {
  background: #1c2022;
  border-color: #b7bcbf;
  color: #f0f1f1;
}
