@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Roboto+Flex:opsz,wght@8..144,400;8..144,500;8..144,600&display=swap');

:root {
    --font-primary: 'Space Grotesk', sans-serif;
    --font-secondary: 'Roboto Flex', sans-serif;
    --color-background: #F5EFFF;
    --color-surface: #F5EFFF;
    --color-primary: #7D34FF;
    --color-secondary: #7D34FF;
    --color-text-light: #1F1430;
    --color-text-medium: #7D34FF;
    --color-accent-green: #A2E990;
    --color-nuit: #1F1430;
    --border-radius: 8px;
    --scorpio-logo: url("https://scorpio-logos-dev.s3.fr-par.scw.cloud/LOGO_SCORP-IO-WITHOUT-BRAND-NAME-NEW-BLACK.svg");
}

body {
    background-color: var(--color-background) !important;
    color: var(--color-text-light) !important;
    font-family: var(--font-secondary) !important;
}

.swagger-ui {
    font-family: var(--font-secondary) !important;
}

.swagger-ui .info .title {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-items: center;
    gap: 1rem;
}

/* Typographie */
.swagger-ui .info .title,
.swagger-ui h1, .swagger-ui h2, .swagger-ui h3, .swagger-ui h4, .swagger-ui h5,
.swagger-ui .opblock-tag {
    color: var(--color-text-medium) !important;
    font-family: var(--font-primary) !important;
}

.swagger-ui .opblock-description-wrapper p,
.swagger-ui .markdown p,
.swagger-ui .renderedMarkdown p,
.swagger-ui .parameter__description,
.swagger-ui .response-col_description__inner p,
.swagger-ui .opblock .opblock-summary-description,
.swagger-ui .opblock-section-header h4,
.swagger-ui .tab li button,
.swagger-ui .model,
.swagger-ui .model-title,
.swagger-ui .property {
    color: var(--color-text-light) !important;
}

.swagger-ui .opblock .opblock-summary-path {
    color: var(--color-text-light) !important;
    font-family: var(--font-primary) !important;
}

/* Topbar */
.swagger-ui .topbar {
    background-color: var(--color-surface) !important;
    border-bottom: 2px solid var(--color-primary) !important;
}
.swagger-ui .topbar .topbar-wrapper a { display: none !important; }
.swagger-ui .topbar .topbar-wrapper {
    background-image: var(--scorpio-logo) !important;
    background-size: 100px;
    background-repeat: no-repeat;
    background-position: 20px center;
}
.swagger-ui .info .title::before {
    content: "" !important;
    display: inline-block !important;
    width: 44px !important;
    height: 44px !important;
    background-image: var(--scorpio-logo) !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* Badges version */
.swagger-ui .info .version-stamp {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-left: 10px !important;
}
.swagger-ui .info .version,
.swagger-ui .info .version-stamp .version {
    background-color: var(--color-surface) !important;
    border: 1px solid var(--color-primary) !important;
    border-radius: 20px !important;
    color: var(--color-primary) !important;
    padding: 4px 12px !important;
    font-family: var(--font-primary) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    display: inline-block !important;
    box-shadow: none !important;
}

small { background: transparent !important; }

/* Opblocks, Relief et arrondis consolidés */
.swagger-ui .opblock {
    background-color: var(--color-surface) !important;
    border: 1px solid #E0D7F5 !important;
    border-radius: var(--border-radius) !important;
    box-shadow: 0 4px 6px -1px rgba(125, 52, 255, 0.1) !important;
    overflow: hidden;
}
.swagger-ui .opblock .opblock-summary {
    border-radius: var(--border-radius) var(--border-radius) 0 0 !important;
}

/* Méthodes HTTP & Bords colorés (Natifs) */
.swagger-ui .opblock .opblock-summary-method {
    color: white !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3) !important;
    border-radius: 4px !important;
}

/* Entrées et formulaires */
.swagger-ui .parameters-col_description input[type=text],
.swagger-ui .opblock-body textarea,
.swagger-ui .auth-container input[type=text],
.swagger-ui .auth-container input[type=password],
.swagger-ui select {
    background-color: var(--color-background) !important;
    color: var(--color-text-light) !important;
    border: 1px solid var(--color-primary) !important;
    border-radius: var(--border-radius) !important;
    box-shadow: none !important;
    outline: none !important;
}

/* JSON Highlight avec fond Nuit */
.swagger-ui .highlight-code {
    background-color: var(--color-nuit) !important;
    border: 1px solid var(--color-primary) !important;
    border-radius: var(--border-radius) !important;
}
.swagger-ui .highlight-code pre,
.swagger-ui .highlight-code code {
    color: #F5EFFF !important;
    background: none !important;
}
.swagger-ui .highlight-code .language-json .token.property,
.swagger-ui .highlight-code .language-json .hljs-attr {
    color: var(--color-primary) !important;
}
.swagger-ui .highlight-code .language-json .token.string,
.swagger-ui .highlight-code .language-json .token.boolean,
.swagger-ui .highlight-code .language-json span[style*="rgb(162, 252, 162)"] {
    color: var(--color-accent-green) !important;
}
.swagger-ui .highlight-code .language-json .token.number,
.swagger-ui .highlight-code .language-json span[style*="rgb(211, 99, 99)"] {
    color: #D36363 !important;
}
.swagger-ui .highlight-code .language-json .token.punctuation {
    color: #F5EFFF !important;
}

/* Boutons "Try it out" et "Authorize" - Sobres */
.swagger-ui .btn {
    background-color: transparent !important;
    border-radius: var(--border-radius) !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
}

.swagger-ui .btn.try-out__btn,
.swagger-ui .btn.execute {
    color: var(--color-primary) !important;
    border: 1px solid var(--color-primary) !important;
}

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

/* Nettoyage divers */
.swagger-ui .info a.link, .swagger-ui .info .url, .swagger-ui .info .download-url-wrapper { display: none !important; }
.swagger-ui .opblock-body, .swagger-ui table { background-color: transparent !important; border: none !important; }
.swagger-ui .opblock .opblock-section-header { border-bottom: none !important; }

/* Centrage du schéma Mermaid */
.swagger-ui .mermaid {
    display: flex !important;
    background-color: var(--color-surface) !important;
    border: 1px solid var(--color-primary);
    border-radius: var(--border-radius) !important;
}

/* Centrage du SVG à l'intérieur */
.swagger-ui .mermaid svg {
    margin: 0 auto !important;
    display: block !important;
    padding: 1rem 0 !important;
}

.swagger-ui .responses-table td.response-col_links {
    display: none !important;
}