/* runevents.Modesty API - Custom Swagger UI Branding */

/* ===== Color Variables (Customize these to match your brand) ===== */
:root {
    --brand-primary: #6A4A9E;      /* Blue - primary brand color */
    --brand-secondary: #7BCED7;    /* Darker blue */
    --brand-accent: #EE265A;       /* Light blue for highlights */
    --brand-success: #10b981;      /* Green for success states */
    --brand-dark: #1e293b;         /* Dark background */
    --brand-text: #334155;         /* Text color */
}

/* ===== Top Bar Branding ===== */
.swagger-ui .topbar {
    background-color: var(--brand-dark) !important;
    border-bottom: 3px solid var(--brand-primary) !important;
    padding: 15px 0 !important;
}

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

/* Logo styling - Custom logo is handled via inline CSS in Program.cs */
.swagger-ui .topbar-wrapper a {
    display: flex !important;
    align-items: center !important;
}

/* ===== Information Header ===== */
.swagger-ui .info {
    margin: 30px 0 !important;
}

.swagger-ui .info .title {
    font-size: 36px !important;
    color: var(--brand-dark) !important;
    font-weight: 700 !important;
}

.swagger-ui .info .title small {
    background-color: var(--brand-primary) !important;
    color: white !important;
    padding: 4px 12px !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    margin-left: 15px !important;
}

.swagger-ui .info .description {
    color: var(--brand-text) !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
}

/* ===== Operation Blocks ===== */
.swagger-ui .opblock {
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
}

.swagger-ui .opblock.opblock-post {
    border-color: var(--brand-primary) !important;
    background: rgba(37, 99, 235, 0.03) !important;
}

.swagger-ui .opblock .opblock-summary-method {
    background: var(--brand-primary) !important;
    color: white !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    padding: 6px 15px !important;
    min-width: 80px !important;
    text-align: center !important;
}

.swagger-ui .opblock .opblock-summary-path {
    color: var(--brand-dark) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
}

.swagger-ui .opblock .opblock-summary-description {
    color: var(--brand-text) !important;
}

/* Hover effects */
.swagger-ui .opblock-summary:hover {
    background: rgba(37, 99, 235, 0.05) !important;
}

/* ===== Buttons ===== */
.swagger-ui .btn {
    border-radius: 6px !important;
    font-weight: 600 !important;
    transition: all 0.2s !important;
}

.swagger-ui .btn.execute {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: white !important;
}

.swagger-ui .btn.execute:hover {
    background-color: var(--brand-secondary) !important;
    box-shadow: 0 4px 6px rgba(37, 99, 235, 0.3) !important;
}

.swagger-ui .btn.try-out__btn {
    background: transparent !important;
    color: var(--brand-primary) !important;
    border: 2px solid var(--brand-primary) !important;
}

.swagger-ui .btn.try-out__btn:hover {
    background-color: var(--brand-primary) !important;
    color: white !important;
}

.swagger-ui .btn.cancel {
    background: transparent !important;
    color: #ef4444 !important;
    border: 2px solid #ef4444 !important;
}

.swagger-ui .btn.cancel:hover {
    background-color: #ef4444 !important;
    color: white !important;
}

/* ===== Response Blocks ===== */
.swagger-ui .responses-inner {
    border-radius: 6px !important;
    overflow: hidden !important;
}

.swagger-ui .response .response-col_status {
    color: var(--brand-dark) !important;
    font-weight: 700 !important;
}

.swagger-ui .response.response_current .response-col_status {
    color: var(--brand-success) !important;
}

/* ===== Models Section ===== */
.swagger-ui .model-box {
    border-radius: 6px !important;
    background-color: #f8fafc !important;
}

.swagger-ui .model-title {
    color: var(--brand-dark) !important;
    font-weight: 700 !important;
}

/* ===== Authorization ===== */
.swagger-ui .btn.authorize {
    background-color: var(--brand-success) !important;
    border-color: var(--brand-success) !important;
    color: white !important;
}

.swagger-ui .btn.authorize svg {
    fill: white !important;
}

/* ===== Scrollbar Customization ===== */
.swagger-ui ::-webkit-scrollbar {
    width: 10px !important;
    height: 10px !important;
}

.swagger-ui ::-webkit-scrollbar-track {
    background: #f1f5f9 !important;
}

.swagger-ui ::-webkit-scrollbar-thumb {
    background: var(--brand-primary) !important;
    border-radius: 5px !important;
}

.swagger-ui ::-webkit-scrollbar-thumb:hover {
    background: var(--brand-secondary) !important;
}

/* ===== Parameter Tables ===== */
.swagger-ui table thead tr th,
.swagger-ui table thead tr td {
    color: var(--brand-dark) !important;
    font-weight: 700 !important;
    border-bottom: 2px solid var(--brand-primary) !important;
}

/* ===== Links ===== */
.swagger-ui a {
    color: var(--brand-primary) !important;
}

.swagger-ui a:hover {
    color: var(--brand-secondary) !important;
}

/* ===== Scheme Container ===== */
.swagger-ui .scheme-container {
    background: #f8fafc !important;
    border-radius: 8px !important;
    padding: 20px !important;
    margin-bottom: 30px !important;
    border: 1px solid #e2e8f0 !important;
}

/* ===== Footer Branding ===== */
.swagger-ui .information-container {
    margin-top: 50px !important;
    padding-top: 30px !important;
    border-top: 2px solid #e2e8f0 !important;
}

/* ===== Custom Badge Styles ===== */
.swagger-ui .opblock-tag {
    color: var(--brand-dark) !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    margin-top: 20px !important;
}

/* ===== Loading Animation ===== */
.swagger-ui .loading-container .loading:after {
    border-color: var(--brand-primary) transparent transparent !important;
}