/* Custom CSS for Enhanced PriceAPI Swagger Documentation */

/* Enhanced header with GraphQL links */
.swagger-ui .topbar {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.swagger-ui .topbar .download-url-wrapper { display: none; }

/* GraphQL Information Section */

.graphql-info {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    margin: 20px 0;
    padding: 20px;
}

.graphql-info h3 {
    color: #495057;
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 15px;
    margin-top: 0;
}

.graphql-links {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 15px;
}

.graphql-link {
    align-items: center;
    background: #007bff;
    border-radius: 6px;
    color: white;
    display: inline-flex;
    font-weight: 500;
    padding: 10px 16px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.graphql-link:hover {
    background: #0056b3;
    box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3);
    color: white;
    transform: translateY(-1px);
}

.graphql-link.graphiql { background: #e53935; }

.graphql-link.graphiql:hover {
    background: #c62828;
    box-shadow: 0 4px 8px rgba(229, 57, 53, 0.3);
}

.graphql-description {
    color: #6c757d;
    line-height: 1.6;
    margin-bottom: 10px;
}

.graphql-features {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    margin-top: 15px;
}

.graphql-feature {
    align-items: center;
    background: white;
    border-left: 3px solid #28a745;
    border-radius: 4px;
    display: flex;
    gap: 8px;
    padding: 8px 12px;
}

.graphql-feature::before {
    color: #28a745;
    content: "✓";
    font-weight: bold;
}

/* Enhanced API endpoints styling */

.swagger-ui .opblock.opblock-get {
    border-color: #28a745;
    box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.1);
}

.swagger-ui .opblock.opblock-get .opblock-summary { border-color: #28a745; }

.swagger-ui .opblock.opblock-get .opblock-summary-method { background: #28a745; }

/* Enhanced descriptions */

.swagger-ui .opblock-description-wrapper p {
    color: #495057;
    line-height: 1.6;
}

.swagger-ui .opblock-description-wrapper code {
    background: #f8f9fa;
    border-radius: 3px;
    color: #e83e8c;
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    padding: 2px 6px;
}

/* Parameter styling */

.swagger-ui .parameter__name {
    color: #495057;
    font-weight: 600;
}

.swagger-ui .parameter__type {
    color: #6c757d;
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
}

/* Response examples */

.swagger-ui .highlight-code {
    background: #f8f9fa !important;
    border: 1px solid #e9ecef;
    border-radius: 4px;
}

/* Mobile responsive */

@media (max-width: 768px) {
    .graphql-links { flex-direction: column; }

    .graphql-features { grid-template-columns: 1fr; }
}

/* Loading animation */

.swagger-ui .loading-container { background: rgba(255, 255, 255, 0.9); }

/* Enhanced info section */

.info { margin-bottom: 30px; }

.info .title {
    color: #495057;
    font-size: 2rem;
    font-weight: 300;
    margin-bottom: 20px;
}

/* Example queries section */

.example-queries {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    margin: 15px 0;
    padding: 15px;
}

.example-queries h4 {
    color: #495057;
    font-size: 1rem;
    margin-bottom: 10px;
    margin-top: 0;
}

.example-query {
    background: white;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    color: #495057;
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    font-size: 0.875rem;
    margin-bottom: 10px;
    overflow-x: auto;
    padding: 10px;
}

.example-query:last-child { margin-bottom: 0; }