/* ====================================
   PolyFence Custom Swagger UI Styles
   (Petstore Theme)
   ==================================== */

/* Matches styles/globals.css exactly */
:root {
    --pf-primary: #5b7fdb;
    --pf-primary-dark: #4a6dc9;
    --pf-text: #1a1a1a;
    --pf-text-muted: rgba(26, 26, 26, 0.6);
    --pf-border: #d9d9d9;
    --pf-bg: #ffffff;
    --pf-bg-light: #f9fafb;
}

/* ===== GLOBAL RESETS ===== */
.swagger-ui {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    color: #3b4151 !important;
}

.swagger-ui .wrapper {
    max-width: 1460px !important;
    padding: 0 20px !important;
}

/* ===== TOPBAR (Header) ===== */
/* Flat, solid background like Petstore (but Blue) */
.swagger-ui .topbar {
    background-color: var(--pf-primary) !important;
    padding: 14px 0 !important;
    border-bottom: none !important;
}

.swagger-ui .topbar a {
    max-width: auto !important;
}

.swagger-ui .topbar .link {
    font-weight: 700 !important;
    font-size: 20px !important;
    color: #fff !important;
}

/* Hide the SVG logo if needed, or color it white */
.swagger-ui .topbar .link svg {
    fill: #fff !important;
}

/* Explore bar */
.swagger-ui .download-url-wrapper .download-url-button {
    background: var(--pf-primary-dark) !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
    color: #fff !important;
}

.swagger-ui .download-url-wrapper input[type=text] {
    border: 2px solid var(--pf-primary-dark) !important;
    border-radius: 4px !important;
    padding: 8px !important;
}

/* ===== MAIN INFO SECTION ===== */
.swagger-ui .info {
    margin: 50px 0 !important;
}

.swagger-ui .info .title {
    font-family: sans-serif !important;
    font-size: 36px !important;
    color: #3b4151 !important;
}

.swagger-ui .info .title small {
    background: #7d8492 !important;
}

.swagger-ui .info .title small.version-stamp {
    background: #89bf04 !important;
    /* Keep the green OAS badge as it's standard */
}

/* ===== AUTH / SCHEMES ===== */
.swagger-ui .scheme-container {
    background: #fff !important;
    box-shadow: none !important;
    border-top: 1px solid #d9d9d9 !important;
    border-bottom: 1px solid #d9d9d9 !important;
    padding: 30px 0 !important;
    margin: 30px 0 !important;
}

.swagger-ui .btn.authorize {
    border-color: var(--pf-primary) !important;
    color: var(--pf-primary) !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
}

.swagger-ui .btn.authorize svg {
    fill: var(--pf-primary) !important;
}

/* ===== OPERATIONS & ENDPOINTS ===== */
/* Petstore uses full-width bars with rounded corners only on the container */
.swagger-ui .opblock {
    border-radius: 4px !important;
    box-shadow: none !important;
    border: 1px solid #000 !important;
    /* Overridden below per method */
    margin: 0 0 15px !important;
}

.swagger-ui .opblock-tag {
    color: #3b4151 !important;
    font-family: sans-serif !important;
    border-bottom: 1px solid #d9d9d9 !important;
}

/* Method Colors (Petstore Style) */
.swagger-ui .opblock.opblock-post {
    background: rgba(73, 204, 144, .1) !important;
    border-color: #49cc90 !important;
}

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

.swagger-ui .opblock.opblock-get {
    background: rgba(97, 175, 254, .1) !important;
    border-color: #61affe !important;
}

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

.swagger-ui .opblock.opblock-put {
    background: rgba(252, 161, 48, .1) !important;
    border-color: #fca130 !important;
}

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

.swagger-ui .opblock.opblock-delete {
    background: rgba(249, 62, 62, .1) !important;
    border-color: #f93e3e !important;
}

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

/* Summary Row */
.swagger-ui .opblock-summary {
    border-bottom: 1px solid rgba(0, 0, 0, 0) !important;
}

.swagger-ui .opblock-summary-method {
    border-radius: 3px !important;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .1) !important;
    font-family: sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 6px 15px !important;
    min-width: 80px !important;
}

.swagger-ui .opblock-summary-path {
    font-size: 16px !important;
    font-family: monospace !important;
    font-weight: 600 !important;
    color: #3b4151 !important;
}

.swagger-ui .opblock-summary-description {
    color: #3b4151 !important;
    font-family: sans-serif !important;
}

/* ===== FORMS & INPUTS ===== */
/* Petstore uses flat, square inputs */
.swagger-ui input[type=text],
.swagger-ui input[type=password],
.swagger-ui select {
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px !important;
    padding: 8px 10px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.swagger-ui select {
    background: #fff !important;
}

/* ===== MODELS ===== */
.swagger-ui .model-box {
    width: 100% !important;
    border-radius: 4px !important;
    background: rgba(0, 0, 0, .05) !important;
}

.swagger-ui section.models {
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px !important;
    margin-top: 30px !important;
}

.swagger-ui section.models h4 {
    border-bottom: 1px solid #d9d9d9 !important;
    padding: 10px 20px !important;
    margin: 0 !important;
    color: #666 !important;
}