/* Custom CSS for FailExtract documentation */

/* Brand colors */
:root {
    --failextract-primary: #2980B9;
    --failextract-secondary: #3498DB;
    --failextract-accent: #E74C3C;
    --failextract-success: #27AE60;
    --failextract-warning: #F39C12;
    --failextract-light: #ECF0F1;
    --failextract-dark: #2C3E50;
}

/* Code highlighting improvements */
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */

/* Custom admonitions */
.admonition.tip {
    background-color: #E8F5E8;
    border-left: 4px solid var(--failextract-success);
}

.admonition.warning {
    background-color: #FFF8DC;
    border-left: 4px solid var(--failextract-warning);
}

.admonition.danger {
    background-color: #FFE8E8;
    border-left: 4px solid var(--failextract-accent);
}

/* Code block improvements */
.highlight {
    border-radius: 4px;
    padding: 1em;
    margin: 1em 0;
}

/* Table styling */
table.docutils {
    border-collapse: collapse;
    margin: 1em 0;
}

table.docutils th {
    background-color: var(--failextract-light);
    border: 1px solid #ddd;
    padding: 8px 12px;
    font-weight: bold;
}

table.docutils td {
    border: 1px solid #ddd;
    padding: 8px 12px;
}

/* Navigation improvements */
.wy-side-nav-search {
    background-color: var(--failextract-primary);
}

.wy-nav-top {
    background-color: var(--failextract-primary);
}

/* Button styling */
.btn-neutral {
    background-color: var(--failextract-secondary) !important;
    color: white !important;
}

.btn-neutral:hover {
    background-color: var(--failextract-primary) !important;
}

/* Code inline styling */
code {
    background-color: #f8f8f8;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    padding: 2px 4px;
    font-size: 0.9em;
}

/* Footer customization */
footer {
    border-top: 1px solid #e0e0e0;
    margin-top: 2em;
    padding-top: 1em;
}

/* API documentation styling */
.py.class dt {
    background-color: #f0f0f0;
    border-left: 4px solid var(--failextract-primary);
    padding: 0.5em;
}

.py.method dt {
    background-color: #f8f8f8;
    border-left: 3px solid var(--failextract-secondary);
    padding: 0.3em;
}

/* Performance metrics styling */
.performance-metric {
    display: inline-block;
    background-color: var(--failextract-light);
    border-radius: 4px;
    padding: 4px 8px;
    margin: 2px;
    font-family: monospace;
    font-size: 0.9em;
}

/* Architecture diagram styling */
.architecture-diagram {
    text-align: center;
    margin: 2em 0;
}

.architecture-diagram img {
    max-width: 100%;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Example code styling */
.example-container {
    border: 1px solid #ddd;
    border-radius: 4px;
    margin: 1em 0;
}

.example-header {
    background-color: var(--failextract-light);
    padding: 0.5em 1em;
    border-bottom: 1px solid #ddd;
    font-weight: bold;
}

.example-content {
    padding: 1em;
}

/* Version badge */
.version-badge {
    background-color: var(--failextract-success);
    color: white;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 0.8em;
    font-weight: bold;
}

/* Status indicators */
.status-experimental {
    color: var(--failextract-warning);
    font-weight: bold;
}

.status-stable {
    color: var(--failextract-success);
    font-weight: bold;
}

.status-deprecated {
    color: var(--failextract-accent);
    font-weight: bold;
    text-decoration: line-through;
}

/* Mobile responsiveness */
@media screen and (max-width: 768px) {
    .wy-table-responsive table td,
    .wy-table-responsive table th {
        white-space: normal !important;
    }
}

/* Print styles */
@media print {
    .wy-nav-side,
    .wy-nav-top,
    .rst-versions {
        display: none !important;
    }
    
    .wy-nav-content-wrap {
        margin-left: 0 !important;
    }
}