/* Java programming — unified left sidebar theme (tutorial, MCQ, Q&A) */

:root {
    --java-sidebar-width: 300px;
    --java-mcq-sidebar-width: 280px;
    --java-nav-offset: 56px;
    --java-brand: #e76f00;
    --java-brand-dark: #c2410c;
    --java-brand-deep: #7c2d12;
}

#java-sidebar,
#mcq-sidebar,
#qa-sidebar,
.page-wrapper > .sidebar,
.page-container > .sidebar {
    background: linear-gradient(180deg, var(--java-brand) 0%, var(--java-brand-dark) 45%, var(--java-brand-deep) 100%) !important;
    color: #fff !important;
    box-shadow: 3px 0 16px rgba(124, 45, 18, 0.35) !important;
    padding: 0 !important;
}

#java-sidebar .sidebar-header,
#mcq-sidebar .sidebar-header,
#qa-sidebar .sidebar-header {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.25) 0%, rgba(124, 45, 18, 0.45) 100%) !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.22) !important;
    padding: 1.25rem 1rem !important;
    text-align: center;
}

#java-sidebar .sidebar-header h3,
#mcq-sidebar .sidebar-header h3,
#qa-sidebar .sidebar-header h3 {
    color: #fff !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

#java-sidebar .sidebar-header p,
#mcq-sidebar .sidebar-header p,
#qa-sidebar .sidebar-header p {
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 0.88rem !important;
    margin: 0.4rem 0 0 !important;
}

#java-sidebar .sidebar-nav a,
#mcq-sidebar .sidebar-nav a,
#qa-sidebar .sidebar-nav a,
#java-sidebar .sidebar-nav-children a,
#mcq-sidebar .sidebar-nav-children a,
#qa-sidebar .sidebar-nav-children a {
    color: rgba(255, 255, 255, 0.92) !important;
    border-left: 4px solid transparent !important;
    border-radius: 6px;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

#java-sidebar .sidebar-nav a:hover,
#mcq-sidebar .sidebar-nav a:hover,
#qa-sidebar .sidebar-nav a:hover,
#java-sidebar .sidebar-nav a.active,
#mcq-sidebar .sidebar-nav a.active,
#qa-sidebar .sidebar-nav a.active,
#java-sidebar .sidebar-nav-children a:hover,
#mcq-sidebar .sidebar-nav-children a:hover,
#qa-sidebar .sidebar-nav-children a:hover,
#java-sidebar .sidebar-nav-children a.active,
#mcq-sidebar .sidebar-nav-children a.active,
#qa-sidebar .sidebar-nav-children a.active {
    background: rgba(255, 255, 255, 0.16) !important;
    border-left-color: #ffd700 !important;
    color: #fff !important;
}

#java-sidebar .sidebar-nav a.active,
#mcq-sidebar .sidebar-nav a.active,
#qa-sidebar .sidebar-nav a.active {
    background: rgba(255, 215, 0, 0.18) !important;
    font-weight: 600 !important;
}

#java-sidebar .external-links,
#mcq-sidebar .external-links,
#qa-sidebar .external-links {
    padding: 1rem 1.25rem 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    margin-top: 0.5rem;
}

#java-sidebar .external-links h4,
#mcq-sidebar .external-links h4,
#qa-sidebar .external-links h4 {
    color: #ffd700 !important;
    font-size: 0.85rem !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

#java-sidebar .external-links a,
#mcq-sidebar .external-links a,
#qa-sidebar .external-links a {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* Tutorial layout: fixed sidebar below top navbar */
@media (min-width: 992px) {
    #java-sidebar {
        width: var(--java-sidebar-width) !important;
        position: fixed !important;
        top: var(--java-nav-offset, 56px) !important;
        left: 0 !important;
        bottom: 0 !important;
        height: auto !important;
        max-height: none !important;
        overflow-y: auto !important;
        z-index: 1020 !important;
    }

    .page-container .main-content {
        margin-left: var(--java-sidebar-width) !important;
    }
}

@media (max-width: 991.98px) {
    #java-sidebar {
        position: relative !important;
        top: 0 !important;
        width: 100% !important;
        max-height: 480px !important;
        overflow-y: auto !important;
    }

    .page-container .main-content {
        margin-left: 0 !important;
    }
}

.scroll-progress {
    top: var(--java-nav-offset, 56px);
}

/* MCQ + Q&A pages: fixed sidebar below navbar */
@media (min-width: 992px) {
    #mcq-sidebar,
    #qa-sidebar {
        width: var(--java-mcq-sidebar-width) !important;
        position: fixed !important;
        top: var(--java-nav-offset, var(--qa-nav-offset, 56px)) !important;
        left: 0 !important;
        bottom: 0 !important;
        height: auto !important;
        max-height: none !important;
        overflow-y: auto !important;
        z-index: 1020 !important;
    }

    .page-wrapper .main-content {
        margin-left: var(--java-mcq-sidebar-width) !important;
    }
}

@media (max-width: 991.98px) {
    #mcq-sidebar,
    #qa-sidebar {
        position: relative !important;
        top: 0 !important;
        width: 100% !important;
        max-height: 480px !important;
        overflow-y: auto !important;
    }

    .page-wrapper .main-content {
        margin-left: 0 !important;
    }
}
