/* Simple Prism.js Copy Button Styling */

/* Force white background with grey header area */
pre[class*="language-"],
pre:not([class*="language-"]) {
    background: linear-gradient(to bottom, #f8f9fa 0, #f8f9fa 36px, #ffffff 36px, #ffffff 100%) !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 52px 16px 16px 16px !important;
    margin: 16px 0 !important;
    position: relative;
    font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
    font-size: 14px;
    line-height: 1.5;
    outline: none !important;
}

/* Remove focus outline */
pre[class*="language-"]:focus,
pre:not([class*="language-"]):focus {
    outline: none !important;
}

code[class*="language-"] {
    background: transparent !important;
}

/* Language label at top of code block */
pre[class*="language-"]::before {
    content: attr(class);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 8px 16px;
    background: #f8f9fa;
    border-bottom: 1px solid #e5e7eb;
    border-radius: 8px 8px 0 0;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    color: #6b7280;
    letter-spacing: 0.05em;
    z-index: 1;
    min-height: 36px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

/* Extract language name from class */
pre[class*="language-javascript"]::before,
pre[class*="language-js"]::before { content: "JavaScript"; }
pre[class*="language-json"]::before { content: "JSON"; }
pre[class*="language-swift"]::before { content: "Swift"; }
pre[class*="language-objectivec"]::before,
pre[class*="language-objc"]::before { content: "Objective-C"; }
pre[class*="language-kotlin"]::before { content: "Kotlin"; }
pre[class*="language-python"]::before,
pre[class*="language-py"]::before { content: "Python"; }
pre[class*="language-bash"]::before { content: "Bash"; }
pre[class*="language-shell"]::before,
pre[class*="language-sh"]::before { content: "Shell"; }
pre[class*="language-html"]::before { content: "HTML"; }
pre[class*="language-css"]::before { content: "CSS"; }
pre[class*="language-xml"]::before { content: "XML"; }
pre[class*="language-yaml"]::before,
pre[class*="language-yml"]::before { content: "YAML"; }
pre[class*="language-markdown"]::before,
pre[class*="language-md"]::before { content: "Markdown"; }
/* Java MUST come after JavaScript to avoid conflicts */
pre.language-java::before { content: "Java"; }

/* Plain code blocks without language class - add "CODE" header */
pre:not([class*="language-"])::before {
    content: "CODE";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 8px 16px;
    background: #f8f9fa;
    border-bottom: 1px solid #e5e7eb;
    border-radius: 8px 8px 0 0;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    color: #6b7280;
    letter-spacing: 0.05em;
    z-index: 1;
    min-height: 36px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

/* Custom copy button positioning for code blocks (uses openapi-copy-button styles from components.css) */
pre[class*="language-"] .openapi-copy-button,
pre:not([class*="language-"]) .openapi-copy-button {
    position: absolute;
    top: 2px;
    right: 12px;
    z-index: 10;
    background: #f8f9fa !important;
}

pre[class*="language-"] .openapi-copy-button:hover,
pre:not([class*="language-"]) .openapi-copy-button:hover {
    background: #e5e7eb !important;
}

/* Dark theme support */
[data-theme="dark"] pre[class*="language-"],
[data-theme="dark"] pre:not([class*="language-"]) {
    background: #1a202c !important;
    border-color: #2d3748 !important;
    color: #e2e8f0;
}

[data-theme="dark"] pre[class*="language-"]::before,
[data-theme="dark"] pre:not([class*="language-"])::before {
    background: #2d3748;
    border-bottom-color: #4a5568;
    color: #a0aec0;
}

[data-theme="dark"] pre[class*="language-"] .openapi-copy-button,
[data-theme="dark"] pre:not([class*="language-"]) .openapi-copy-button {
    background: #2d3748 !important;
}

[data-theme="dark"] pre[class*="language-"] .openapi-copy-button:hover,
[data-theme="dark"] pre:not([class*="language-"]) .openapi-copy-button:hover {
    background: #4a5568 !important;
}

[data-theme="dark"] code[class*="language-"] {
    color: #e2e8f0 !important;
}

