/* StreamerBot Documentation - Custom Doxygen Awesome CSS Overrides */

/* Primary color scheme - Purple/Blue gradient like StreamerBot branding */
html {
    /* Primary theme color - a vibrant purple */
    --primary-color: #7c3aed;
    --primary-dark-color: #6d28d9;
    --primary-light-color: #a78bfa;
    
    /* Code highlighting improvements */
    --code-background: #f8f8f8;
    
    /* Sidebar styling */
    --side-nav-background: #fafbfc;
    
    /* Page header styling */
    --page-background-color: #ffffff;
    --page-foreground-color: #1f2937;
    
    /* Fragment/code block styling */
    --fragment-background: #f6f8fa;
    --fragment-foreground: #24292f;
}

html.dark-mode {
    --primary-color: #a78bfa;
    --primary-dark-color: #8b5cf6;
    --primary-light-color: #c4b5fd;
    
    --code-background: #1e1e2e;
    --side-nav-background: #161b22;
    --page-background-color: #0d1117;
    --page-foreground-color: #c9d1d9;
    --fragment-background: #161b22;
    --fragment-foreground: #c9d1d9;
}

/* Project title styling */
#projectname {
    font-weight: 700;
    font-size: 1.75rem;
    background: linear-gradient(135deg, var(--primary-color), #3b82f6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

#projectbrief {
    font-size: 0.9rem;
    color: var(--page-foreground-color);
    opacity: 0.8;
}

/* Navigation improvements */
#side-nav {
    background: var(--side-nav-background);
}

/* Make the tree view more readable */
.navtree {
    font-size: 0.9rem;
}

/* Class/file list styling */
.directory td.entry {
    padding: 6px 8px;
}

/* Member documentation styling */
.memtitle {
    border-radius: 8px 8px 0 0;
}

.memproto {
    border-radius: 0 0 8px 8px;
}

/* Better table styling */
table.doxtable {
    border-radius: 8px;
    overflow: hidden;
}

table.doxtable th {
    background: var(--primary-color);
    color: white;
}

/* Code fragment styling */
div.fragment {
    border-radius: 8px;
    border: 1px solid var(--separator-color);
}

/* Search box improvements */
#MSearchBox {
    border-radius: 20px;
}

/* Better inline code styling */
code {
    background-color: var(--code-background);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.9em;
}

/* Improve the namespace/class hierarchy */
.textblock h1 {
    border-bottom: 3px solid var(--primary-color);
    padding-bottom: 0.5rem;
}

.textblock h2 {
    border-bottom: 2px solid var(--primary-light-color);
    padding-bottom: 0.3rem;
}

/* Module/group styling */
.groupheader {
    color: var(--primary-dark-color);
}

/* Better list styling */
ul, ol {
    padding-left: 1.5rem;
}

li {
    margin-bottom: 0.25rem;
}

/* Improve member descriptions */
.memdoc {
    padding: 1rem;
    background: var(--fragment-background);
    border-radius: 0 0 8px 8px;
}

/* Better enum styling */
table.fieldtable {
    border-radius: 8px;
    overflow: hidden;
}

/* Tab improvements */
.tabs, .tabs2, .tabs3 {
    background: linear-gradient(180deg, var(--primary-color) 0%, var(--primary-dark-color) 100%);
}

.tabs a, .tabs2 a, .tabs3 a {
    color: white !important;
}

/* Responsive improvements */
@media (max-width: 768px) {
    #side-nav {
        width: 100% !important;
    }
    
    #doc-content {
        margin-left: 0 !important;
    }
    
    #projectname {
        font-size: 1.25rem;
    }
}

/* Class diagram improvements */
.inheritance .center {
    text-align: center;
}

/* See also section */
dl.see {
    background: var(--fragment-background);
    padding: 1rem;
    border-radius: 8px;
    border-left: 4px solid var(--primary-color);
}

/* Note/warning/attention boxes */
dl.note {
    background: #dbeafe;
    border-left: 4px solid #3b82f6;
    padding: 1rem;
    border-radius: 0 8px 8px 0;
}

dl.warning {
    background: #fef3c7;
    border-left: 4px solid #f59e0b;
    padding: 1rem;
    border-radius: 0 8px 8px 0;
}

dl.attention {
    background: #fee2e2;
    border-left: 4px solid #ef4444;
    padding: 1rem;
    border-radius: 0 8px 8px 0;
}

html.dark-mode dl.note {
    background: #1e3a5f;
    border-left-color: #60a5fa;
}

html.dark-mode dl.warning {
    background: #422006;
    border-left-color: #fbbf24;
}

html.dark-mode dl.attention {
    background: #450a0a;
    border-left-color: #f87171;
}

/* Footer styling */
#nav-path {
    background: var(--side-nav-background);
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: var(--page-background-color);
}

::-webkit-scrollbar-thumb {
    background: var(--primary-light-color);
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--primary-color);
}
