/* Swagger UI overrides for mkdocs-material theme */

/* Reset swagger wrapper */
.swagger-ui {
  font-family: var(--md-text-font-family, "Roboto", sans-serif) !important;
  color: var(--md-typeset-color) !important;
}

/* Hide default swagger header/info — already in our docs */
.swagger-ui .info {
  margin: 0 !important;
}

.swagger-ui .info .title {
  font-size: 1.4em !important;
  font-family: var(--md-text-font-family) !important;
  color: var(--md-typeset-color) !important;
}

.swagger-ui .info p,
.swagger-ui .info li {
  font-family: var(--md-text-font-family) !important;
  font-size: 0.85rem !important;
  color: var(--md-typeset-color) !important;
}

/* Tags / sections */
.swagger-ui .opblock-tag {
  font-family: var(--md-text-font-family) !important;
  font-size: 1.1em !important;
  border-bottom: 1px solid var(--md-default-fg-color--lightest) !important;
  color: var(--md-typeset-color) !important;
}

/* Operation blocks — match material palette */
.swagger-ui .opblock {
  border-radius: 8px !important;
  box-shadow: none !important;
  border: 1px solid var(--md-default-fg-color--lightest) !important;
  margin-bottom: 8px !important;
}

.swagger-ui .opblock .opblock-summary {
  border-radius: 8px !important;
  padding: 8px 12px !important;
}

.swagger-ui .opblock .opblock-summary-method {
  border-radius: 4px !important;
  font-size: 0.75rem !important;
  padding: 4px 12px !important;
  min-width: 60px !important;
  text-align: center !important;
}

.swagger-ui .opblock .opblock-summary-path {
  font-family: var(--md-code-font-family, "Roboto Mono", monospace) !important;
  font-size: 0.85rem !important;
}

.swagger-ui .opblock .opblock-summary-description {
  font-family: var(--md-text-font-family) !important;
  font-size: 0.8rem !important;
  color: var(--md-typeset-color) !important;
}

/* GET — indigo */
.swagger-ui .opblock.opblock-get {
  background: rgba(var(--md-primary-fg-color--rgb, 63, 81, 181), 0.04) !important;
  border-color: rgba(var(--md-primary-fg-color--rgb, 63, 81, 181), 0.2) !important;
}

.swagger-ui .opblock.opblock-get .opblock-summary-method {
  background: #4051b5 !important;
}

/* POST — green */
.swagger-ui .opblock.opblock-post {
  background: rgba(76, 175, 80, 0.04) !important;
  border-color: rgba(76, 175, 80, 0.2) !important;
}

.swagger-ui .opblock.opblock-post .opblock-summary-method {
  background: #4caf50 !important;
}

/* PUT — orange */
.swagger-ui .opblock.opblock-put {
  background: rgba(255, 152, 0, 0.04) !important;
  border-color: rgba(255, 152, 0, 0.2) !important;
}

.swagger-ui .opblock.opblock-put .opblock-summary-method {
  background: #ff9800 !important;
}

/* DELETE — red */
.swagger-ui .opblock.opblock-delete {
  background: rgba(244, 67, 54, 0.04) !important;
  border-color: rgba(244, 67, 54, 0.2) !important;
}

.swagger-ui .opblock.opblock-delete .opblock-summary-method {
  background: #f44336 !important;
}

/* PATCH — purple */
.swagger-ui .opblock.opblock-patch {
  background: rgba(156, 39, 176, 0.04) !important;
  border-color: rgba(156, 39, 176, 0.2) !important;
}

.swagger-ui .opblock.opblock-patch .opblock-summary-method {
  background: #9c27b0 !important;
}

/* Operation body */
.swagger-ui .opblock-body {
  font-family: var(--md-text-font-family) !important;
  font-size: 0.85rem !important;
}

.swagger-ui .opblock-body pre {
  font-family: var(--md-code-font-family) !important;
  font-size: 0.8rem !important;
  border-radius: 6px !important;
}

/* Parameters table */
.swagger-ui table thead tr th,
.swagger-ui table thead tr td {
  font-family: var(--md-text-font-family) !important;
  font-size: 0.8rem !important;
  color: var(--md-typeset-color) !important;
  border-bottom: 2px solid var(--md-default-fg-color--lightest) !important;
  padding: 8px 0 !important;
}

.swagger-ui table tbody tr td {
  font-family: var(--md-text-font-family) !important;
  font-size: 0.8rem !important;
  color: var(--md-typeset-color) !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--md-default-fg-color--lightest) !important;
}

/* Model schemas */
.swagger-ui .model-box {
  border-radius: 6px !important;
}

.swagger-ui .model {
  font-family: var(--md-code-font-family) !important;
  font-size: 0.8rem !important;
}

/* Buttons */
.swagger-ui .btn {
  border-radius: 4px !important;
  font-family: var(--md-text-font-family) !important;
  font-size: 0.8rem !important;
  box-shadow: none !important;
}

.swagger-ui .btn.execute {
  background: var(--md-primary-fg-color, #4051b5) !important;
  border-color: var(--md-primary-fg-color, #4051b5) !important;
  border-radius: 4px !important;
}

/* Response section */
.swagger-ui .responses-inner {
  padding: 12px !important;
}

.swagger-ui .response-col_status {
  font-family: var(--md-code-font-family) !important;
  font-size: 0.85rem !important;
}

/* Filter/search */
.swagger-ui .filter .operation-filter-input {
  border-radius: 4px !important;
  border: 1px solid var(--md-default-fg-color--lightest) !important;
  font-family: var(--md-text-font-family) !important;
}

/* Dark mode support */
[data-md-color-scheme="slate"] .swagger-ui {
  filter: invert(0.88) hue-rotate(180deg);
}

[data-md-color-scheme="slate"] .swagger-ui img,
[data-md-color-scheme="slate"] .swagger-ui svg {
  filter: invert(1) hue-rotate(180deg);
}

/* Remove swagger branding link */
.swagger-ui .info hgroup.main a {
  display: none !important;
}

/* Scrollbar for code blocks */
.swagger-ui pre {
  max-height: 400px;
  overflow-y: auto;
}
