/* OLI Systems Brand Palette for Swagger UI */

/* ── Font ── */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap');

.swagger-ui {
    font-family: 'DM Sans', sans-serif;
}

.swagger-ui .opblock-tag,
.swagger-ui .opblock .opblock-summary-description,
.swagger-ui .opblock .opblock-summary-path,
.swagger-ui .info .title,
.swagger-ui table thead tr th,
.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5,
.swagger-ui .parameter__name,
.swagger-ui .btn {
    font-family: 'DM Sans', sans-serif;
}

/* ── Top bar ── */
.swagger-ui .topbar {
    background-color: #32373c;
    border-bottom: 1px solid #0693e3;
}

.swagger-ui .info__contact a {
    color: #0693e3 !important;
}

.swagger-ui .topbar a span {
    color: #ffffff;
}

.swagger-ui .topbar .download-url-wrapper .select-label span {
    color: #ffffff;
}

/* ── Info section ── */
.swagger-ui .info .title {
    color: #32373c;
    font-weight: 500;
}

.swagger-ui .info h2,
.swagger-ui .info h3,
.swagger-ui .info h4 {
    color: #32373c;
    font-weight: 500;
}

.swagger-ui .info a {
    color: #32373c;
}

/* ── Links ── */
.swagger-ui a.nostyle,
.swagger-ui a.nostyle:visited {
    color: #32373c;
}

/* ── HTTP method badges ── */
.swagger-ui .opblock.opblock-get .opblock-summary-method {
    background: #32373c;
}

.swagger-ui .opblock.opblock-get .opblock-summary {
    border-color: #32373c;
}

.swagger-ui .opblock.opblock-get {
    background: rgba(6, 147, 227, 0.05);
    border-color: #32373c;
}

.swagger-ui .opblock.opblock-post .opblock-summary-method {
    background: #00d084;
}

.swagger-ui .opblock.opblock-post .opblock-summary {
    border-color: #00d084;
}

.swagger-ui .opblock.opblock-post {
    background: rgba(0, 208, 132, 0.05);
    border-color: #00d084;
}

.swagger-ui .opblock.opblock-put .opblock-summary-method {
    background: #f78c40;
}

.swagger-ui .opblock.opblock-put .opblock-summary {
    border-color: #f78c40;
}

.swagger-ui .opblock.opblock-put {
    background: rgba(247, 140, 64, 0.05);
    border-color: #f78c40;
}

.swagger-ui .opblock.opblock-delete .opblock-summary-method {
    background: #e04b5a;
}

.swagger-ui .opblock.opblock-delete .opblock-summary {
    border-color: #e04b5a;
}

.swagger-ui .opblock.opblock-delete {
    background: rgba(224, 75, 90, 0.05);
    border-color: #e04b5a;
}

/* ── Buttons ── */
.swagger-ui .btn.execute {
    background-color: #0693e3;
    border-color: #0693e3;
    color: #ffffff;
}

.swagger-ui .btn.execute:hover {
    background-color: #0580c9;
    border-color: #0580c9;
}

.swagger-ui .btn.authorize {
    color: #8b0000;
    border-color: #8b0000;
}

.swagger-ui .btn.authorize svg {
    fill: #8b0000;
}

.swagger-ui .opblock-summary-control:focus {
    outline: none;
}

/* ── Try it out button ── */
.swagger-ui .try-out__btn {
    color: #0693e3;
    border-color: #0693e3;
}

.swagger-ui .try-out__btn:hover {
    background-color: #0693e3;
    color: #ffffff;
}

/* ── Authorize modal ── */
.swagger-ui .dialog-ux .modal-ux-header h3 {
    color: #32373c;
}

.swagger-ui .auth-btn-wrapper .btn-done {
    color: #32373c;
    border-color: #32373c;
    border:1px solid #32373c;
}

/* ── Section headers / tag groups ── */
.swagger-ui .opblock-tag {
    color: #32373c;
    font-weight: 500;
    border-bottom: 1px solid #abb8c3;
}

.swagger-ui .opblock-tag:hover {
    color: #0693e3;
}

/* ── Response status codes ── */
.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5 {
    color: #32373c;
    font-weight: 500;
}

.swagger-ui table thead tr th {
    color: #32373c;
    font-weight: 500;
}

/* ── Tab headers ── */
.swagger-ui .tab li.active {
    color: #32373c;
}

/* ── Scheme selector ── */
.swagger-ui .scheme-container {
    background: #f8f9fa;
    border-bottom: 1px solid #abb8c3;
}

/* ── General body ── */
.swagger-ui {
    color: #32373c;
}
