/*
==============================================================================
Ordius Swagger Theme
Version 1.0.0

Purpose
-------
Transforms Swagger UI into the Ordius visual language.

Design Philosophy
-----------------
• Matte Black
• Charcoal Surfaces
• Deep Crimson Accent
• Soft Gray Typography
• Clean Enterprise Appearance

Load Order
----------
swagger-ui.css
↓
ordius-swagger.css

The rules in this file intentionally override Swagger defaults.
==============================================================================
*/



/*==============================================================================
  Ordius Theme Variables
==============================================================================*/

:root {

    /* Backgrounds */

    --ordius-black: #050505;
    --ordius-charcoal: #111111;
    --ordius-panel: #181818;
    --ordius-panel-light: #202020;

    /* Borders */

    --ordius-border: #2A2A2A;
    --ordius-border-light: #3A3A3A;

    /* Text */

    --ordius-text: #F2F2F2;
    --ordius-text-secondary: #CFCFCF;
    --ordius-text-muted: #8F8F8F;

    /* Brand */

    --ordius-red: #7B0D0D;
    --ordius-red-hover: #951515;
    --ordius-red-light: #C62828;

    /* Misc */

    --ordius-radius: 12px;
    --ordius-transition: 180ms ease;

}



/*==============================================================================
  Global Page
==============================================================================*/

html,
body {

    background: var(--ordius-black);

    color: var(--ordius-text);

    font-family:
        Inter,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

}



/*==============================================================================
  Swagger Container
==============================================================================*/

.swagger-ui {

    background: var(--ordius-black);

    color: var(--ordius-text);

}

/*==============================================================================
  Page Layout
==============================================================================*/

body {

    margin: 0;

    background: var(--ordius-black);

}



.swagger-ui {

    min-height: 100vh;

    background: var(--ordius-black);

}



.swagger-ui .wrapper {

    max-width: 1180px;

    margin: 48px auto;

    padding: 0 32px;

}



/*==============================================================================
  Top Header
==============================================================================*/

.swagger-ui .information-container {

    background: linear-gradient(
        180deg,
        #121212 0%,
        #0B0B0B 100%
    );

    border: 1px solid var(--ordius-border);

    border-radius: var(--ordius-radius);

    padding: 40px;

    margin-bottom: 36px;

}



.swagger-ui .info {

    margin: 0;

}



.swagger-ui .info hgroup.main {

    margin-bottom: 24px;

}



.swagger-ui .info .title {

    color: var(--ordius-text);

    font-size: 3rem;

    font-weight: 700;

    line-height: 1.2;

}



.swagger-ui .info .title small {

    background: var(--ordius-red);

    color: #FFFFFF;

    border-radius: 999px;

    padding: 4px 10px;

    font-size: .75rem;

    font-weight: 600;

}



.swagger-ui .info a {

    color: var(--ordius-red-light);

    text-decoration: none;

}



.swagger-ui .info a:hover {

    text-decoration: underline;

}



.swagger-ui .info p {

    color: var(--ordius-text-secondary);

    line-height: 1.8;

}



.swagger-ui .scheme-container {

    background: #101010;

    border: 1px solid var(--ordius-border);

    border-radius: var(--ordius-radius);

    box-shadow: none;

    margin-top: 32px;

    padding: 20px 24px;

}

/*==============================================================================
  Operations
==============================================================================*/

.swagger-ui .opblock {

    background: var(--ordius-charcoal);

    border: 1px solid var(--ordius-border);

    border-radius: var(--ordius-radius);

    overflow: hidden;

    margin-bottom: 24px;

    box-shadow: none;

}



/*------------------------------------------------------------------------------
  Operation Header
------------------------------------------------------------------------------*/

.swagger-ui .opblock .opblock-summary {

    display: flex;

    align-items: center;

    min-height: 66px;

    background: var(--ordius-panel);

    border-bottom: 1px solid var(--ordius-border);

}



.swagger-ui .opblock .opblock-summary:hover {

    background: #1E1E1E;

}



/*------------------------------------------------------------------------------
  POST Badge
------------------------------------------------------------------------------*/

.swagger-ui .opblock.opblock-post {

    border-color: var(--ordius-border);

}



.swagger-ui .opblock.opblock-post .opblock-summary-method {

    background: var(--ordius-red);

    color: #FFFFFF;

    border-radius: 8px;

    min-width: 88px;

    font-weight: 700;

    letter-spacing: .05em;

}



.swagger-ui .opblock.opblock-post .opblock-summary {

    border-left: 4px solid var(--ordius-red);

}



/*------------------------------------------------------------------------------
  Endpoint
------------------------------------------------------------------------------*/

.swagger-ui .opblock-summary-path {

    color: var(--ordius-text);

    font-size: 1.15rem;

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Consolas,
        monospace;

}



.swagger-ui .opblock-summary-description {

    color: var(--ordius-text-secondary);

}



/*------------------------------------------------------------------------------
  Expand / Collapse Arrow
------------------------------------------------------------------------------*/

.swagger-ui .expand-operation svg {

    fill: var(--ordius-text-muted);

}



.swagger-ui .expand-operation:hover svg {

    fill: var(--ordius-text);

}



/*------------------------------------------------------------------------------
  Lock Icon
------------------------------------------------------------------------------*/

.swagger-ui .authorization__btn svg {

    fill: var(--ordius-text-secondary);

}



.swagger-ui .authorization__btn:hover svg {

    fill: var(--ordius-red-light);

}



/*------------------------------------------------------------------------------
  Expanded Body
------------------------------------------------------------------------------*/

.swagger-ui .opblock-body {

    background: #101010;

    color: var(--ordius-text);

}



.swagger-ui .opblock-description-wrapper,
.swagger-ui .opblock-external-docs-wrapper,
.swagger-ui .opblock-title_normal {

    color: var(--ordius-text-secondary);

}

/*==============================================================================
  Buttons, Inputs & Interactive Controls
==============================================================================*/

/*------------------------------------------------------------------------------
  Buttons
------------------------------------------------------------------------------*/

.swagger-ui .btn {

    border-radius: 10px;

    border: 1px solid var(--ordius-border);

    background: var(--ordius-panel);

    color: var(--ordius-text);

    transition: all var(--ordius-transition);

    box-shadow: none;

}

.swagger-ui .btn:hover {

    background: #242424;

    border-color: var(--ordius-border-light);

}



/*------------------------------------------------------------------------------
  Primary Buttons
------------------------------------------------------------------------------*/

.swagger-ui .btn.execute,
.swagger-ui .btn.authorize,
.swagger-ui .btn.try-out__btn {

    background: var(--ordius-red);

    border-color: var(--ordius-red);

    color: #FFFFFF;

    font-weight: 600;

}

.swagger-ui .btn.execute:hover,
.swagger-ui .btn.authorize:hover,
.swagger-ui .btn.try-out__btn:hover {

    background: var(--ordius-red-hover);

    border-color: var(--ordius-red-hover);

}



/*------------------------------------------------------------------------------
  Cancel Button
------------------------------------------------------------------------------*/

.swagger-ui .btn.cancel {

    background: #242424;

    color: var(--ordius-text);

}



/*------------------------------------------------------------------------------
  Text Inputs
------------------------------------------------------------------------------*/

.swagger-ui input[type="text"],
.swagger-ui input[type="password"],
.swagger-ui input[type="email"],
.swagger-ui input[type="search"],
.swagger-ui textarea {

    background: #0A0A0A;

    color: var(--ordius-text);

    border: 1px solid var(--ordius-border);

    border-radius: 10px;

}

.swagger-ui input:focus,
.swagger-ui textarea:focus {

    border-color: var(--ordius-red);

    outline: none;

    box-shadow: 0 0 0 2px rgba(123,13,13,.18);

}



/*------------------------------------------------------------------------------
  Select Boxes
------------------------------------------------------------------------------*/

.swagger-ui select {

    background: #0A0A0A;

    color: var(--ordius-text);

    border: 1px solid var(--ordius-border);

    border-radius: 10px;

}



/*------------------------------------------------------------------------------
  Server URL Bar
------------------------------------------------------------------------------*/

.swagger-ui .scheme-container select {

    background: #0A0A0A;

    color: var(--ordius-text);

    border: 1px solid var(--ordius-border);

}

.swagger-ui .scheme-container {

    border-radius: var(--ordius-radius);

}



/*------------------------------------------------------------------------------
  Authorization Dialog
------------------------------------------------------------------------------*/

.swagger-ui .dialog-ux {

    background: var(--ordius-charcoal);

    border: 1px solid var(--ordius-border);

    border-radius: var(--ordius-radius);

}

.swagger-ui .dialog-ux .modal-ux-header {

    background: var(--ordius-panel);

    color: var(--ordius-text);

    border-bottom: 1px solid var(--ordius-border);

}

.swagger-ui .dialog-ux .modal-ux-content {

    background: var(--ordius-charcoal);

    color: var(--ordius-text);

}

.swagger-ui .dialog-ux .modal-ux-content input {

    background: #0A0A0A;

    color: var(--ordius-text);

}



/*------------------------------------------------------------------------------
  File Upload
------------------------------------------------------------------------------*/

.swagger-ui input[type="file"] {

    color: var(--ordius-text);

}



/*------------------------------------------------------------------------------
  Response Download Button
------------------------------------------------------------------------------*/

.swagger-ui .download-contents {

    color: var(--ordius-red-light);

}

/*==============================================================================
  Request / Response Panels
==============================================================================*/

/*------------------------------------------------------------------------------
  Sections
------------------------------------------------------------------------------*/

.swagger-ui .opblock-section-header {

    background: var(--ordius-panel);

    border-top: 1px solid var(--ordius-border);

    border-bottom: 1px solid var(--ordius-border);

    color: var(--ordius-text);

}

.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5,
.swagger-ui .responses-inner h3 {

    color: var(--ordius-text);

}



/*------------------------------------------------------------------------------
  Tables
------------------------------------------------------------------------------*/

.swagger-ui table {

    background: #101010;

}

.swagger-ui table thead tr th {

    background: var(--ordius-panel);

    color: var(--ordius-text);

    border-color: var(--ordius-border);

}

.swagger-ui table tbody tr td {

    color: var(--ordius-text-secondary);

    border-color: var(--ordius-border);

}



/*------------------------------------------------------------------------------
  Parameter Names
------------------------------------------------------------------------------*/

.swagger-ui .parameter__name {

    color: var(--ordius-text);

    font-weight: 600;

}

.swagger-ui .parameter__type {

    color: var(--ordius-red-light);

}

.swagger-ui .parameter__deprecated {

    color: #D66;

}



/*------------------------------------------------------------------------------
  Code Blocks
------------------------------------------------------------------------------*/

.swagger-ui pre {

    background: #0B0B0B;

    border: 1px solid var(--ordius-border);

    border-radius: 10px;

    color: var(--ordius-text);

}

.swagger-ui code {

    color: var(--ordius-text);

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Consolas,
        monospace;

}



/*------------------------------------------------------------------------------
  Model Example / JSON
------------------------------------------------------------------------------*/

.swagger-ui .model-box {

    background: #0B0B0B;

    border: 1px solid var(--ordius-border);

}

.swagger-ui .model {

    color: var(--ordius-text);

}



/*------------------------------------------------------------------------------
  Response Area
------------------------------------------------------------------------------*/

.swagger-ui .responses-table {

    border: 1px solid var(--ordius-border);

}

.swagger-ui .response-col_status {

    color: var(--ordius-text);

    font-weight: 700;

}

.swagger-ui .response-col_description {

    color: var(--ordius-text-secondary);

}



/*------------------------------------------------------------------------------
  Tabs
------------------------------------------------------------------------------*/

.swagger-ui .tab li {

    color: var(--ordius-text-muted);

}

.swagger-ui .tab li.active {

    color: var(--ordius-red-light);

    border-bottom: 2px solid var(--ordius-red);

}



/*------------------------------------------------------------------------------
  Links
------------------------------------------------------------------------------*/

.swagger-ui a {

    color: var(--ordius-red-light);

}

.swagger-ui a:hover {

    color: #E05050;

}



/*------------------------------------------------------------------------------
  Scrollbars
------------------------------------------------------------------------------*/

.swagger-ui ::-webkit-scrollbar {

    width: 10px;

    height: 10px;

}

.swagger-ui ::-webkit-scrollbar-track {

    background: #111111;

}

.swagger-ui ::-webkit-scrollbar-thumb {

    background: #333333;

    border-radius: 20px;

}

.swagger-ui ::-webkit-scrollbar-thumb:hover {

    background: #555555;

}

/*==============================================================================
  Authorize Button
==============================================================================*/

html.dark-mode .swagger-ui .scheme-container .btn.authorize {

    background: var(--ordius-red) !important;

    border-color: var(--ordius-red) !important;

    color: #FFFFFF !important;

}

html.dark-mode .swagger-ui .scheme-container .btn.authorize:hover {

    background: var(--ordius-red-hover) !important;

    border-color: var(--ordius-red-hover) !important;

    color: #FFFFFF !important;

}

html.dark-mode .swagger-ui .scheme-container .btn.authorize svg,
html.dark-mode .swagger-ui .scheme-container .btn.authorize svg path {

    fill: #FFFFFF !important;

}

/*==============================================================================
  POST Method Badge
==============================================================================*/

html.dark-mode .swagger-ui .opblock.opblock-post .opblock-summary-method {

    background: var(--ordius-red) !important;

    color: #FFFFFF !important;

    text-shadow: none !important;

}

/* ============================================================
   Remove remaining Swagger green sections
============================================================ */

.swagger-ui .opblock.opblock-post {
    border-color: #5f0d0d;
    background: #151515;
}

.swagger-ui .opblock.opblock-post .opblock-summary {
    border-color: #5f0d0d;
}

.swagger-ui .opblock-section-header {
    background: #1b1b1b !important;
    border-color: #2d2d2d !important;
}

.swagger-ui .opblock-section-header h4,
.swagger-ui .opblock-section-header label {
    color: #e6e6e6;
}

.swagger-ui .parameters-container,
.swagger-ui .responses-wrapper,
.swagger-ui .opblock-description-wrapper,
.swagger-ui .opblock-body {
    background: #121212;
}

.swagger-ui .responses-table,
.swagger-ui table tbody tr td {
    background: #121212;
}

.swagger-ui .opblock-body pre,
.swagger-ui .highlight-code {
    background: #1b1b1b;
}

.swagger-ui .opblock {
    box-shadow: none;
}

/* ==========================================================
   Remove remaining Swagger green accents
========================================================== */

/* Parameter / Request Body / Responses headers */
.swagger-ui .opblock-section-header {
    background: #1a1a1a !important;
    border-top: 1px solid #2a2a2a !important;
    border-bottom: 1px solid #2a2a2a !important;
}

/* Thin underline under Parameters */
.swagger-ui .opblock-section-header h4 {
    color: #f2f2f2 !important;
    border-bottom: none !important;
}

/* Response table */
.swagger-ui table thead tr td,
.swagger-ui table thead tr th {
    background: #1a1a1a !important;
    color: #f2f2f2 !important;
    border-color: #2a2a2a !important;
}

.swagger-ui table tbody tr td,
.swagger-ui table tbody tr th {
    background: #111111 !important;
    color: #d9d9d9 !important;
    border-color: #262626 !important;
}

/* Example / Schema tabs */
.swagger-ui .tab li {
    color: #bdbdbd !important;
}

.swagger-ui .tab li.active {
    color: #ffffff !important;
    border-bottom: none !important;
}

/* Media type selector green border */
.swagger-ui select {
    border-color: #444 !important;
    box-shadow: none !important;
}

/* Accept header text */
.swagger-ui .response-control-media-type__accept-message {
    color: #b5b5b5 !important;
}

/* Remove green separator above response table */
.swagger-ui .responses-inner {
    border-top: 1px solid #2a2a2a !important;
}

/* Response description */
.swagger-ui .response-col_description,
.swagger-ui .response-col_description *,
.swagger-ui .response-col_description code,
.swagger-ui .response-col_description p,
.swagger-ui .response-col_description span,
.swagger-ui .response-col_description div {
    color: #d9d9d9 !important;
}

/* Required text */
.swagger-ui .required {
    color: #cf3030 !important;
}

/* ==========================================================
   Final Swagger green cleanup
========================================================== */

/* Thin separator lines */
.swagger-ui .opblock-body,
.swagger-ui .parameters-container,
.swagger-ui .responses-wrapper,
.swagger-ui .responses-inner,
.swagger-ui .response,
.swagger-ui .parameter__type,
.swagger-ui .parameter__name {
    border-color: #2a2a2a !important;
}

/* Remove Swagger green borders */
.swagger-ui .response,
.swagger-ui .responses-inner,
.swagger-ui .opblock-body,
.swagger-ui .parameters-container {
    border-top: 1px solid #2a2a2a !important;
}

/* Accept header helper */
.swagger-ui .response-control-media-type__accept-message {
    color: #9b9b9b !important;
}

/* JSON syntax highlighting */

.swagger-ui .highlight-code .hljs-string,
.swagger-ui .highlight-code .hljs-attr {
    color: #d6d6d6 !important;
}

.swagger-ui .highlight-code .hljs-number {
    color: #cfcfcf !important;
}

.swagger-ui .highlight-code .hljs-literal,
.swagger-ui .highlight-code .hljs-keyword {
    color: #c42b2b !important;
}

.swagger-ui .highlight-code .hljs-built_in,
.swagger-ui .highlight-code .hljs-symbol {
    color: #d6d6d6 !important;
}

.swagger-ui .highlight-code .hljs-punctuation {
    color: #888888 !important;
}

.swagger-ui .opblock.opblock-post .opblock-summary {
    background: #171717 !important;
    border-bottom: 1px solid #2a2a2a !important;
    border-color: #2a2a2a !important;
}

.swagger-ui .opblock.opblock-post .opblock-summary::before,
.swagger-ui .opblock.opblock-post .opblock-summary:before {
    background: #7f0d0d !important;
}

.swagger-ui .opblock.opblock-post .opblock-section-header .tab-header .tab-item .opblock-title span:after {

    background: #7f0d0d !important;

}

html.dark-mode .swagger-ui .info .title small.version-stamp {

    background: #1b1b1b !important;

    border: 1px solid #a31313 !important;

    color: #d9d9d9 !important;

}

/* ==========================================================
   Hide Swagger Validator
========================================================== */

.swagger-ui .download-url-wrapper {
    display: none !important;
}

.swagger-ui .validator-badge {
    display: none !important;
}

.swagger-ui .info .link {
    display: none !important;
}

.swagger-ui section > .float-right {
    display: none !important;
}

/* ------------------------------------------------ */
/* Ordius Section Headers                           */
/* ------------------------------------------------ */

.swagger-ui .opblock-section-header {
    background: #1a1a1a !important;
    border-top: 1px solid #2a2a2a !important;
    border-bottom: 1px solid #2a2a2a !important;
}

.swagger-ui .opblock-section-header h4,
.swagger-ui .opblock-section-header h4 span {
    color: #f2f2f2 !important;
}

.swagger-ui .opblock-section-header * {
    border-color: #2a2a2a !important;
}

/* ==========================================
   Remove Swagger POST green frame completely
   ========================================== */

   .swagger-ui .opblock.opblock-post {
    border: 1px solid #2a2a2a !important;
    box-shadow: none !important;
}

.swagger-ui .opblock.opblock-post.is-open {
    border: 1px solid #2a2a2a !important;
    box-shadow: none !important;
}

.swagger-ui .opblock.opblock-post:hover {
    border-color: #3a3a3a !important;
}

/* -------------------------------- */
/* Ordius Divider Colors            */
/* -------------------------------- */

.swagger-ui .opblock.opblock-post .opblock-body > .opblock-description-wrapper,
.swagger-ui .opblock.opblock-post .opblock-body > .opblock-title_normal,
.swagger-ui .opblock.opblock-post .opblock-section-header,
.swagger-ui .opblock.opblock-post .responses-wrapper,
.swagger-ui .opblock.opblock-post .responses-inner,
.swagger-ui .opblock.opblock-post .response,
.swagger-ui .opblock.opblock-post .parameters-container,
.swagger-ui .opblock.opblock-post .execute-wrapper {
    border-top: 1px solid #2a2a2a !important;
    border-bottom: 1px solid #2a2a2a !important;
    border-left-color: #2a2a2a !important;
    border-right-color: #2a2a2a !important;
}

footer {

    border-top: 1px solid var(--border);

    padding: 80px 40px;

}

.footer-container {

    max-width: var(--container);

    margin: auto;

}

footer p {

    color: var(--muted);
    
    font-size: 14px;
    
    line-height: 1.8;

    margin-bottom: 14px;

}

footer nav {

    display: flex;

    gap: 24px;

    margin: 26px 0;

}

footer nav a {

    color: white;

    text-decoration: none;

}

.footer-keywords {

    font-size: 14px;

}

/* ==========================================================
   Swagger Footer Alignment
========================================================== */

footer {
    text-align: center;
}

.footer-container {
    max-width: var(--container);
    margin: 0 auto;
}

footer nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
}