/* Custom CSS for torchvision-customizer documentation */

:root {
    --primary-color: #2c3e50;
    --accent-color: #3498db;
    --success-color: #27ae60;
    --warning-color: #e74c3c;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
}

.rst-content h1,
.rst-content h2,
.rst-content h3 {
    color: var(--primary-color);
    border-bottom: 2px solid var(--accent-color);
    padding-bottom: 10px;
}

.rst-content code.literal {
    background: #f4f4f4;
    border: 1px solid #ddd;
    border-radius: 3px;
    padding: 2px 5px;
    font-family: 'Courier New', monospace;
}

.rst-content pre {
    background: #f5f5f5;
    border-left: 4px solid var(--accent-color);
    padding: 10px;
}

.rst-content .highlight {
    background: #f5f5f5;
}

.rst-content .highlight pre {
    background: transparent;
    border: none;
}

/* Admonitions */
.rst-content .admonition {
    border-left: 4px solid var(--accent-color);
    border-radius: 4px;
}

.rst-content .admonition.warning {
    border-left-color: var(--warning-color);
}

.rst-content .admonition.note {
    border-left-color: var(--accent-color);
}

.rst-content .admonition.tip {
    border-left-color: var(--success-color);
}

/* Tables */
.rst-content table.docutils {
    border-collapse: collapse;
    width: 100%;
}

.rst-content table.docutils td,
.rst-content table.docutils th {
    border: 1px solid #ddd;
    padding: 8px 12px;
    text-align: left;
}

.rst-content table.docutils th {
    background: var(--primary-color);
    color: white;
    font-weight: bold;
}

.rst-content table.docutils tr:nth-child(even) {
    background: #f9f9f9;
}

/* Links */
a {
    color: var(--accent-color);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
    color: var(--primary-color);
}

/* Code blocks */
.highlight .k { color: #0066cc; }  /* Keywords */
.highlight .s { color: #008000; }  /* Strings */
.highlight .c { color: #999999; }  /* Comments */
.highlight .n { color: #333333; }  /* Names */

/* Navigation */
.wy-nav-content {
    padding: 20px;
}

.wy-breadcrumbs {
    background: #f9f9f9;
    padding: 10px;
    border-radius: 4px;
    margin-bottom: 20px;
}

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

.wy-side-nav-search input[type="text"] {
    border-color: var(--accent-color);
}

/* API documentation */
.py:before {
    content: "🔹 ";
    color: var(--accent-color);
}

dl.class > dt,
dl.function > dt,
dl.method > dt {
    background: #f9f9f9;
    border-left: 3px solid var(--accent-color);
    padding: 10px;
    margin-bottom: 10px;
}

/* Examples */
.rst-content .example {
    background: #f0f7ff;
    border-left: 4px solid var(--accent-color);
    padding: 15px;
    margin: 15px 0;
    border-radius: 4px;
}

.rst-content .example h4 {
    margin-top: 0;
    color: var(--primary-color);
}

/* Statistics table */
.statistics {
    width: 100%;
    border-collapse: collapse;
}

.statistics td {
    padding: 12px;
    border: 1px solid #ddd;
}

.statistics th {
    background: var(--primary-color);
    color: white;
    padding: 12px;
    text-align: left;
}

/* Badge styling */
.badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: bold;
    margin: 2px;
}

.badge-blue {
    background: #3498db;
    color: white;
}

.badge-green {
    background: #27ae60;
    color: white;
}

.badge-red {
    background: #e74c3c;
    color: white;
}

.badge-yellow {
    background: #f39c12;
    color: white;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .rst-content table.docutils {
        font-size: 12px;
    }
    
    .wy-nav-content {
        padding: 10px;
    }
}

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