/* ============================================================
   Trafilerie del Monferrato — Tema Swagger UI
   Progetto: RowS.Api  →  tema CHIARO, accento ORO (colore principale)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;600;700&family=DM+Serif+Display&family=DM+Mono:wght@400&display=swap');

:root {
    /* Colori primitivi */
    --color-gold: #F5A800;
    --color-anthracite: #1A1A1A;
    --color-ivory: #F7F6F0;
    --color-gray-dark: #444441;
    --color-gray-mid: #888880;
    --color-gray-light: #C8C8C0;
    --color-gray-soft: #F0EFE8;

    /* Token semantici — tema LIGHT */
    --bg-page: var(--color-ivory);
    --bg-surface: #ffffff;
    --bg-surface-alt: var(--color-gray-soft);
    --text-primary: var(--color-anthracite);
    --text-secondary: var(--color-gray-dark);
    --text-muted: var(--color-gray-mid);
    --border: var(--color-gray-light);
    --accent: var(--color-gold);

    /* Tipografia */
    --font-serif: 'DM Serif Display', Georgia, serif;
    --font-sans: 'Barlow', system-ui, -apple-system, sans-serif;
    --font-mono: 'DM Mono', 'Cascadia Code', Consolas, monospace;
}

/* ---------- Base ---------- */
body {
    background: var(--bg-page);
    margin: 0;
}

.swagger-ui,
.swagger-ui .info li,
.swagger-ui .info p,
.swagger-ui .info a,
.swagger-ui .info table,
.swagger-ui .opblock-description-wrapper p,
.swagger-ui .parameter__name,
.swagger-ui label,
.swagger-ui select,
.swagger-ui input,
.swagger-ui .btn,
.swagger-ui .tab li,
.swagger-ui .response-col_status,
.swagger-ui table thead tr th,
.swagger-ui table thead tr td {
    font-family: var(--font-sans);
    color: var(--text-primary);
}

.swagger-ui .opblock-tag small,
.swagger-ui .parameter__type,
.swagger-ui .response-col_description__inner div.markdown {
    color: var(--text-secondary);
}

/* Codici, misure, dati tecnici */
.swagger-ui .microlight,
.swagger-ui code,
.swagger-ui .model,
.swagger-ui textarea,
.swagger-ui .prop-type,
.swagger-ui .response-col_status {
    font-family: var(--font-mono);
}

/* ---------- Topbar + logo ---------- */
.swagger-ui .topbar {
    background-color: var(--color-anthracite);
    border-bottom: 3px solid var(--accent);
}

.swagger-ui .topbar .topbar-wrapper .link {
    display: inline-flex;
    align-items: center;
    width: 200px;
    height: 60px;
    overflow: hidden;
    background: url("rows-logo-light.svg") no-repeat left center;
    background-size: contain;
}

.swagger-ui .topbar .topbar-wrapper .link > * {
    display: none !important;
}

/* Barra di ricerca/definizione nella topbar */
.swagger-ui .topbar .download-url-wrapper .download-url-button {
    background: var(--accent);
    color: var(--color-anthracite);
    font-weight: 600;
}

.swagger-ui .topbar .download-url-wrapper input[type=text] {
    border-color: var(--accent);
}

/* ---------- Info / intestazione ---------- */
.swagger-ui .info .title {
    font-family: var(--font-serif);
    font-weight: 400;
    color: var(--text-primary);
    letter-spacing: 0;
}

.swagger-ui .info .title small.version-stamp {
    background-color: var(--accent);
}

.swagger-ui .info .title small {
    background: var(--color-gray-dark);
}

/* ---------- Sezioni (tag) ---------- */
.swagger-ui .opblock-tag {
    font-family: var(--font-sans);
    font-weight: 700;
    letter-spacing: -0.5px;
    color: var(--text-primary);
    border-bottom: 1px solid var(--border);
}

/* ---------- Operation block ---------- */
.swagger-ui .opblock {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    box-shadow: none;
    border-radius: 6px;
    margin: 0 0 14px;
}

.swagger-ui .opblock .opblock-summary {
    border-color: var(--border);
}

.swagger-ui .opblock .opblock-summary-method {
    font-family: var(--font-sans);
    font-weight: 700;
    border-radius: 4px;
}

/* Accento del bordo sinistro coerente con il metodo, sfondo neutro */
.swagger-ui .opblock.opblock-get { border-color: var(--border); background: var(--bg-surface); }
.swagger-ui .opblock.opblock-post { border-color: var(--border); background: var(--bg-surface); }
.swagger-ui .opblock.opblock-put { border-color: var(--border); background: var(--bg-surface); }
.swagger-ui .opblock.opblock-delete { border-color: var(--border); background: var(--bg-surface); }

/* ---------- Bottoni ---------- */
.swagger-ui .btn {
    border-radius: 4px;
    box-shadow: none;
}

.swagger-ui .btn.authorize {
    color: var(--color-anthracite);
    border-color: var(--accent);
}

.swagger-ui .btn.authorize svg { fill: var(--color-anthracite); }

.swagger-ui .btn.execute {
    background-color: var(--accent);
    border-color: var(--accent);
    color: var(--color-anthracite);
    font-weight: 600;
}

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

/* ---------- Tabelle / schemi ---------- */
.swagger-ui .scheme-container {
    background: var(--bg-surface);
    box-shadow: none;
    border-bottom: 1px solid var(--border);
}

.swagger-ui table tbody tr td {
    border-color: var(--border);
}

.swagger-ui section.models {
    border: 1px solid var(--border);
}

.swagger-ui section.models .model-container {
    background: var(--bg-surface-alt);
}

/* Schemas: renderer JSON Schema 2020-12 (OAS 3.1) — i button non hanno
   sfondo impostato e prenderebbero il grigio di default del browser */
.swagger-ui .json-schema-2020-12,
.swagger-ui .json-schema-2020-12-accordion,
.swagger-ui .json-schema-2020-12-expand-deep-button {
    background: transparent;
}

/* ---------- Focus ring / link ---------- */
.swagger-ui .info a,
.swagger-ui a.nostyle {
    color: var(--accent);
}

.swagger-ui *:focus {
    outline-color: var(--accent);
}

.swagger-ui .opblock-summary-control:focus {
    outline-color: var(--accent);
}
