/* Custom styles for API documentation */

/* Dark theme variables and overrides */
[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #6e6ef5;
  --md-primary-fg-color--light: #9a9aff;
  --md-primary-fg-color--dark: #5252d6;
  --md-accent-fg-color: #82b1ff;
  --md-typeset-a-color: var(--md-accent-fg-color);

  /* Dark theme background colors */
  --md-code-bg-color: #2a2a2a;
  --md-code-fg-color: #f8f8f2;

  /* Adjust endpoint background in dark mode */
  --endpoint-bg-color: #303030;
  --endpoint-border-color: #6e6ef5;
  --endpoint-method-color: #6e6ef5;
  --endpoint-url-color: #e0e0e0;
}

/* Light theme variables */
[data-md-color-scheme="default"] {
  --endpoint-bg-color: #f5f5f5;
  --endpoint-border-color: #2196f3;
  --endpoint-method-color: #2196f3;
  --endpoint-url-color: #333;
}

/* API endpoint method badges */
.method {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: bold;
  color: white;
  margin-right: 8px;
}

.method.get {
  background-color: #61affe;
}

.method.post {
  background-color: #49cc90;
}

.method.put {
  background-color: #fca130;
}

.method.delete {
  background-color: #f93e3e;
}

/* Response status badges */
.status {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: bold;
  color: white;
  margin-right: 8px;
}

.status.success {
  background-color: #49cc90;
}

.status.error {
  background-color: #f93e3e;
}

.status.warn {
  background-color: #fca130;
}

/* Parameter required indicator */
.required {
  color: #f93e3e;
  font-weight: bold;
  font-size: 14px;
}

/* Code block title */
.code-block-title {
  font-family: SFMono-Regular, Consolas, "Roboto Mono", Menlo, monospace;
  font-size: 0.85em;
  padding: 0.5em 1em;
  color: #eee;
  background-color: rgba(0, 0, 0, 0.26);
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  margin-bottom: -12px;
}

/* Custom annotations */
.annotation {
  color: #9e9e9e;
  font-size: 0.85em;
  font-style: italic;
  margin-top: -8px;
}

/* API endpoint URL display */
.endpoint {
  background-color: var(--endpoint-bg-color);
  padding: 10px 15px;
  border-radius: 4px;
  border-left: 4px solid var(--endpoint-border-color);
  margin-bottom: 20px;
  font-family: SFMono-Regular, Consolas, "Roboto Mono", Menlo, monospace;
}

.endpoint .http-method {
  font-weight: bold;
  color: var(--endpoint-method-color);
  margin-right: 10px;
}

.endpoint .url-path {
  color: var(--endpoint-url-color);
}

/* Enhance table formatting */
.md-typeset table:not([class]) {
  box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 1px 5px 0 rgba(0,0,0,.12), 0 3px 1px -2px rgba(0,0,0,.2);
  border-radius: 4px;
  overflow: hidden;
}

[data-md-color-scheme="default"] .md-typeset table:not([class]) th {
  background-color: rgba(0,0,0,.54);
  color: #fff;
}

[data-md-color-scheme="default"] .md-typeset table:not([class]) tr:nth-child(even) {
  background-color: rgba(0,0,0,.025);
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background-color: rgba(255,255,255,.1);
  color: #fff;
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) tr:nth-child(even) {
  background-color: rgba(255,255,255,.05);
}

/* Add smooth transitions */
* {
  transition: all 0.3s ease;
}

/* Custom admonition for API versioning */
.md-typeset .admonition.api-version,
.md-typeset details.api-version {
  border-color: #9e9e9e;
}

.md-typeset .api-version > .admonition-title,
.md-typeset .api-version > summary {
  background-color: rgba(158, 158, 158, 0.1);
}

.md-typeset .api-version > .admonition-title::before,
.md-typeset .api-version > summary::before {
  background-color: #9e9e9e;
  content: "api";
}

/* Custom admonition for endpoint examples */
.md-typeset .admonition.example,
.md-typeset details.example {
  border-color: #7b1fa2;
}

.md-typeset .example > .admonition-title,
.md-typeset .example > summary {
  background-color: rgba(123, 31, 162, 0.1);
}

.md-typeset .example > .admonition-title::before,
.md-typeset .example > summary::before {
  background-color: #7b1fa2;
  content: "code";
}

/* Custom admonition for security notes */
.md-typeset .admonition.security,
.md-typeset details.security {
  border-color: #f44336;
}

.md-typeset .security > .admonition-title,
.md-typeset .security > summary {
  background-color: rgba(244, 67, 54, 0.1);
}

.md-typeset .security > .admonition-title::before,
.md-typeset .security > summary::before {
  background-color: #f44336;
  content: "security";
}

/* Custom admonition for rate limits */
.md-typeset .admonition.rate-limit,
.md-typeset details.rate-limit {
  border-color: #ff9800;
}

.md-typeset .rate-limit > .admonition-title,
.md-typeset .rate-limit > summary {
  background-color: rgba(255, 152, 0, 0.1);
}

.md-typeset .rate-limit > .admonition-title::before,
.md-typeset .rate-limit > summary::before {
  background-color: #ff9800;
  content: "timer";
}
