/* ─────────────────────────────────────────────────────────────────────────────
   Evolve Design System — Swagger UI Theme
   Applies Evolve brand colors and Roboto typography to the Swagger UI.
   ───────────────────────────────────────────────────────────────────────────── */

@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");

/* ── Base typography ── */
.swagger-ui,
.swagger-ui .opblock-description-wrapper p,
.swagger-ui .opblock-external-docs-wrapper p,
.swagger-ui .info p,
.swagger-ui .info li,
.swagger-ui table thead tr td,
.swagger-ui table thead tr th,
.swagger-ui .parameter__name,
.swagger-ui .parameter__type,
.swagger-ui .response-col_status,
.swagger-ui .renderedMarkdown p {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* ── Topbar: replace default green with Evolve darkest navy ── */
.swagger-ui .topbar {
  background-color: #001440 !important;
  border-bottom: 3px solid #0152fb !important;
  padding: 8px 0 !important;
}
.swagger-ui .topbar .topbar-wrapper a span {
  color: #ffffff !important;
  font-family: "Roboto", sans-serif !important;
  font-weight: 500 !important;
  font-size: 1.1rem !important;
}
.swagger-ui .topbar .topbar-wrapper img {
  display: none !important; /* hide default Swagger logo */
}
/* Custom wordmark injected via ::before */
.swagger-ui .topbar .topbar-wrapper a::before {
  content: "Routing API";
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: .02em;
}

/* ── Info section ── */
.swagger-ui .info .title {
  color: #1a1b26 !important;
  font-family: "Roboto", sans-serif !important;
  font-weight: 700 !important;
}
.swagger-ui .info a {
  color: #0152fb !important;
}
.swagger-ui .info a:hover {
  color: #12bcff !important;
}

/* ── Authorize button ── */
.swagger-ui .btn.authorize {
  background-color: #0152fb !important;
  border-color: #0152fb !important;
  color: #ffffff !important;
  font-family: "Roboto", sans-serif !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
}
.swagger-ui .btn.authorize svg {
  fill: #ffffff !important;
}
.swagger-ui .btn.authorize:hover {
  background-color: #001673 !important;
  border-color: #001673 !important;
}

/* ── Generic buttons ── */
.swagger-ui .btn {
  font-family: "Roboto", sans-serif !important;
  border-radius: 6px !important;
}
.swagger-ui .btn.execute {
  background-color: #0152fb !important;
  border-color: #0152fb !important;
  color: #ffffff !important;
}
.swagger-ui .btn.execute:hover {
  background-color: #001673 !important;
  border-color: #001673 !important;
}
.swagger-ui .btn.cancel {
  border-color: #e4e5e8 !important;
  color: #1a1b26 !important;
}

/* ── HTTP method badges ── */
/* POST */
.swagger-ui .opblock.opblock-post {
  border-color: #0152fb !important;
  background: rgba(1, 82, 251, 0.05) !important;
}
.swagger-ui .opblock.opblock-post .opblock-summary-method {
  background: #0152fb !important;
}

/* GET */
.swagger-ui .opblock.opblock-get {
  border-color: #00bc5d !important;
  background: rgba(0, 188, 93, 0.05) !important;
}
.swagger-ui .opblock.opblock-get .opblock-summary-method {
  background: #00bc5d !important;
}

/* DELETE */
.swagger-ui .opblock.opblock-delete {
  border-color: #e11456 !important;
  background: rgba(225, 20, 86, 0.05) !important;
}
.swagger-ui .opblock.opblock-delete .opblock-summary-method {
  background: #e11456 !important;
}

/* PUT */
.swagger-ui .opblock.opblock-put {
  border-color: #fea423 !important;
  background: rgba(254, 164, 35, 0.05) !important;
}
.swagger-ui .opblock.opblock-put .opblock-summary-method {
  background: #fea423 !important;
  color: #1a1b26 !important;
}

/* PATCH */
.swagger-ui .opblock.opblock-patch {
  border-color: #12bcff !important;
  background: rgba(18, 188, 255, 0.05) !important;
}
.swagger-ui .opblock.opblock-patch .opblock-summary-method {
  background: #12bcff !important;
  color: #1a1b26 !important;
}

/* ── Operation summary text ── */
.swagger-ui .opblock-summary-description,
.swagger-ui .opblock-summary-path {
  font-family: "Roboto", sans-serif !important;
}
.swagger-ui .opblock-summary-method {
  font-family: "Roboto", sans-serif !important;
  font-weight: 700 !important;
  border-radius: 4px !important;
  min-width: 70px !important;
  text-align: center !important;
}

/* ── Section tags (group headers) ── */
.swagger-ui .opblock-tag {
  font-family: "Roboto", sans-serif !important;
  font-weight: 500 !important;
  color: #1a1b26 !important;
  border-bottom: 1px solid #e4e5e8 !important;
}
.swagger-ui .opblock-tag:hover {
  color: #0152fb !important;
}

/* ── Model / schema section ── */
.swagger-ui section.models {
  border: 1px solid #e4e5e8 !important;
  border-radius: 8px !important;
}
.swagger-ui section.models h4 {
  font-family: "Roboto", sans-serif !important;
  font-weight: 500 !important;
  color: #1a1b26 !important;
}
.swagger-ui .model-title {
  font-family: "Roboto", sans-serif !important;
  font-weight: 500 !important;
}

/* ── Response code pills ── */
.swagger-ui .response-col_status {
  font-weight: 500 !important;
}
.swagger-ui .response-col_status .response-undocumented {
  color: #ababb4 !important;
}

/* ── Input fields ── */
.swagger-ui input[type=text],
.swagger-ui input[type=email],
.swagger-ui input[type=password],
.swagger-ui textarea,
.swagger-ui select {
  font-family: "Roboto", sans-serif !important;
  border: 1px solid #e4e5e8 !important;
  border-radius: 6px !important;
  color: #1a1b26 !important;
}
.swagger-ui input[type=text]:focus,
.swagger-ui textarea:focus {
  border-color: #0152fb !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(1, 82, 251, 0.15) !important;
}

/* ── Links ── */
.swagger-ui a {
  color: #0152fb !important;
}
.swagger-ui a:hover {
  color: #12bcff !important;
}

/* ── Code / example blocks ── */
.swagger-ui .microlight,
.swagger-ui code {
  font-size: .85rem !important;
  border-radius: 4px !important;
}

/* ── Servers dropdown ── */
.swagger-ui .servers > label {
  font-family: "Roboto", sans-serif !important;
  color: #1a1b26 !important;
}
.swagger-ui .servers select {
  font-family: "Roboto", sans-serif !important;
}

/* ── Required badge ── */
.swagger-ui .parameter__name.required::after {
  color: #e11456 !important;
}

/* ── Modal (auth dialog) ── */
.swagger-ui .dialog-ux .modal-ux {
  border-radius: 10px !important;
  font-family: "Roboto", sans-serif !important;
}
.swagger-ui .dialog-ux .modal-ux-header {
  background: #001440 !important;
  border-radius: 10px 10px 0 0 !important;
}
.swagger-ui .dialog-ux .modal-ux-header h3 {
  color: #ffffff !important;
  font-family: "Roboto", sans-serif !important;
}
.swagger-ui .auth-container .wrapper {
  padding: 1.5rem !important;
}
.swagger-ui .auth-btn-wrapper .btn-done {
  background-color: #0152fb !important;
  border-color: #0152fb !important;
  color: #ffffff !important;
}
