/**
 * Gpgram Documentation - Custom CSS
 */

/* General styles */
:root {
    --primary-color: #0088cc;
    --primary-dark: #006699;
    --primary-light: #33aadd;
    --secondary-color: #5bc0de;
    --accent-color: #ff9800;
}

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

.wy-side-nav-search > div.version {
    color: rgba(255, 255, 255, 0.8);
}

.wy-side-nav-search > a {
    color: #ffffff;
}

/* Sidebar styles */
.wy-nav-side {
    background: #343131;
}

.wy-menu-vertical header, .wy-menu-vertical p.caption {
    color: var(--primary-light);
}

/* Content styles */
.rst-content .note {
    background-color: rgba(91, 192, 222, 0.1);
}

.rst-content .note .admonition-title {
    background-color: var(--secondary-color);
}

.rst-content .warning {
    background-color: rgba(255, 152, 0, 0.1);
}

.rst-content .warning .admonition-title {
    background-color: var(--accent-color);
}

/* Code block styles */
.highlight {
    background: #f5f5f5;
}

/* Table styles */
.rst-content table.docutils {
    border: 1px solid #e1e4e5;
}

.rst-content table.docutils thead th {
    background-color: #f0f0f0;
}

/* Link styles */
a {
    color: var(--primary-color);
}

a:hover {
    color: var(--primary-dark);
}

/* Button styles */
.btn-neutral {
    background-color: #f0f0f0 !important;
    color: var(--primary-color) !important;
}

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

/* API documentation styles */
dl.class, dl.function, dl.method, dl.attribute {
    margin-bottom: 2em;
    padding: 1em;
    background-color: #f8f8f8;
    border-radius: 4px;
}

dl.class > dt, dl.function > dt, dl.method > dt, dl.attribute > dt {
    background-color: #e8e8e8;
    padding: 0.5em;
    border-radius: 4px;
    margin-bottom: 1em;
}

/* Parameter table styles */
.field-list {
    margin-top: 1em;
}

.field-list dt {
    font-weight: bold;
}

.field-list dd {
    margin-left: 1.5em;
}

/* Mobile styles */
@media screen and (max-width: 768px) {
    .wy-nav-side {
        width: 300px;
        left: -300px;
    }
    
    .wy-nav-side.shift {
        width: 85%;
        left: 0;
    }
    
    .wy-nav-content-wrap {
        margin-left: 0;
    }
    
    .wy-nav-content-wrap.shift {
        position: relative;
        left: 85%;
    }
}
