/* ---- Swagger UI – Iconik theme overrides ----
   Load after swagger-ui.css, before custom.css.
   Only override colors, fonts and backgrounds.
   Do NOT add structural/layout rules here.
------------------------------------------------ */

/* ---- Operation color palette ---- */
:root {
  --swagger-get:        #3c87ad;
  --swagger-post:       #40b979;
  --swagger-put:        #d36627;
  --swagger-delete:     #de2c2c;
  --swagger-patch:      #50e3c2;
  --swagger-head:       #9012fe;
  --swagger-options:    #0d5aa7;
  --swagger-deprecated: #ebebeb;
}

/* ---- Base ---- */
input { color: white; }

.swagger-ui {
  font-family: var(--font-sans);
  color: white;
  background: none !important;
}

html.dark-mode {
  background: var(--color-bg);
}
@media (max-width: 768px) {
  .swagger-ui .wrapper {
    padding: 0;
  }
}

/* ---- Tags ---- */
.swagger-ui .opblock-tag {
  font-family: var(--font-sans);
  border-bottom: 1px solid  var(--color-border);
  padding: 10px;
}

.swagger-ui .opblock-tag small {
  font-family: var(--font-sans);
}
.swagger-ui .scheme-container {
  padding: 20px;
  border-bottom: 1px solid var(--color-border);
  box-shadow: none;
}

html.dark-mode .swagger-ui .scheme-container{
  background: var(--color-surface);
  box-shadow: none;
  border-bottom: 1px solid var(--color-border);
}

/* ---- Operation blocks ---- */

.swagger-ui .expand-methods, .swagger-ui .expand-operations {
  padding: 0;
}

.swagger-ui .opblock .opblock-summary-operation-id,
.swagger-ui .opblock .opblock-summary-path,
.swagger-ui .opblock .opblock-summary-path__deprecated {
    font-family: var(--font-mono);
}

.swagger-ui .model-box-control:focus, .swagger-ui .models-control:focus, .swagger-ui .opblock-summary-control:focus {
  outline: none;
}

.swagger-ui .opblock-description-wrapper p,
.swagger-ui .opblock-external-docs-wrapper p,
.swagger-ui .opblock-title_normal p {
  font-family: var(--font-sans);
  color: var(--color-heading);
}

/* ---- Responses ---- */
.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5 {
  font-family: var(--font-sans);
  color: var(--color-heading);
}
.swagger-ui .responses-inner div div {
  background: var(--color-surface);
  border-top: 2px solid var(--color-border);
  border-bottom: 2px solid var(--color-border);
}
.swagger-ui .responses-inner table div,
.swagger-ui .responses-inner div div div {
  background: none;
  border: none;
}

.swagger-ui a.nostyle, .swagger-ui a.nostyle:visited {
  color: var(--color-heading);
}

/* ---- Parameters ---- */
.swagger-ui .parameter__type {
  font-family: var(--font-mono);
  color: var(--color-heading);
}

/* ---- Labels ---- */
.swagger-ui label {
  font-family: var(--font-sans);
  color: var(--color-heading);
}

/* ---- Inputs ---- */
.swagger-ui input[type=email],
.swagger-ui input[type=file],
.swagger-ui input[type=password],
.swagger-ui input[type=search],
.swagger-ui input[type=text] {
  border: 1px solid var(--color-border);
  background: var(--color-bg);
  color: var(--color-text);
}

/* ---- Selects ---- */
.swagger-ui select {
  font-family: var(--font-sans);
  color: var(--color-heading);
  background-color: var(--color-bg);
  border: 2px solid var(--color-border);
  box-shadow: none;
}
.swagger-ui select[multiple] {
  background: var(--color-bg);
}

/* ---- Tab items ---- */
.swagger-ui .tab li {
  font-family: var(--font-sans);
  color: var(--color-heading);
  background: var(--color-surface);
  font-size: 14px;
  margin-bottom: 0;
  padding: 8px;
}
.swagger-ui .tab li.active {
  background: var(--color-bg);
}
.swagger-ui .tab li:first-of-type {
  padding-left: 8px;
}

.swagger-ui .tab li:first-of-type:after {
  background: var(--color-border);
  right: 1px;
}

/* ---- Models section ---- */
.swagger-ui section.models {
  border: 1px solid var(--color-border);
}
.swagger-ui section.models h4 {
  font-family: var(--font-sans);
  color: var(--color-text);
}
.swagger-ui section.models h5 {
  font-family: var(--font-sans);
  color: var(--color-text);
}
.swagger-ui .model-title {
  font-family: var(--font-sans);
}

/* ---- Info block ---- */
.swagger-ui .info .title {
  font-family: var(--font-sans);
  color: var(--color-heading);
}
.swagger-ui .info li,
.swagger-ui .info p,
.swagger-ui .info table {
  font-family: var(--font-sans);
  color: var(--color-text);
}
.swagger-ui .info h1,
.swagger-ui .info h2,
.swagger-ui .info h3,
.swagger-ui .info h4,
.swagger-ui .info h5 {
  font-family: var(--font-sans);
  color: var(--color-heading);
}
.swagger-ui .info .base-url {
  color: var(--color-heading);
}
.swagger-ui .info .title small {
  background: var(--color-border);
}

/* ---- Topbar ---- */
.swagger-ui .topbar {
  background: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  padding: 6px 20px;
}
.swagger-ui .topbar .topbar-wrapper {
  padding: 0;
  justify-content: flex-start;
}
.swagger-ui .topbar .topbar-wrapper .link {
  display: none;
}
html.dark-mode .swagger-ui .topbar {
  background: var(--color-surface);
}
.swagger-ui .topbar .dark-mode-toggle {
  display: none !important;
}

/* ---- Auth dialog ---- */
.swagger-ui .auth-container .errors {
  font-family: var(--font-mono);
  color: var(--color-heading);
}

html.dark-mode .swagger-ui .dialog-ux .modal-ux {
  background-color: var(--color-surface);
}

.swagger-ui .dialog-ux .modal-ux-content {
  scrollbar-color: var(--color-scrollbar-thumb) var(--color-bg);
  scrollbar-width: thin;
}

.swagger-ui .dialog-ux .modal-ux-header {
  border-bottom: 1px solid var(--color-border);
}

html.dark-mode .swagger-ui .dialog-ux .modal-ux-header {
  border-bottom: 1px solid var(--color-border);
}

/* ---- Code / pre ---- */
.docs-main .swagger-ui pre,
.docs-main .swagger-ui pre code,
.docs-main .swagger-ui code {
  all: revert;
  font-size: 14px;
}

.swagger-ui .topbar .download-url-wrapper .select-label {
  color: var(--color-heading);
  line-height: 120%;
}

.swagger-ui .topbar .download-url-wrapper .select-label select {
  border: 1px solid var(--color-interaction-primary);
}

.swagger-ui .info .title small pre {
  color: var(--color-heading);
}

/* ---- Errors ---- */
html:not([data-theme="light"]) .swagger-ui .info .errors-wrapper {
  background: var(--color-bg);
}
