/* ===================================================
   CENTRALIZED SIDEBAR STYLING
   ===================================================
   This file provides consistent styling for all sidebars in the application
*/

/* Import centralized systems */
@import url("spacing.fcb7e2c7ab0a.css");
@import url("animation_transition.7613137d12c6.css");
@import url("layout_constraints.92377ed79df6.css");

/* ===================================================
   COMMON SIDEBAR STYLES
   ===================================================
*/

/* Base sidebar styling */
.sidebar, .sidebar-right {
    width: 240px;
    background-color: var(--bg-light);
    height: 100vh;
    transition: var(--transition-width);
    overflow-x: hidden;
    position: fixed;
    top: 0;
    z-index: var(--z-index-sidebar);
}

.sidebar {
    left: 0;
}

.sidebar-right {
    right: 0;
    border-left: 1px solid var(--color-border);
}

/* Collapsed state - !important needed to override inline width set by JS */
.sidebar.collapsed, .sidebar-right.collapsed {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
}

/* Toggle button styling */
.sidebar-toggle, .sidebar-right-toggle {
    text-align: right;
    padding: var(--space-3);
    color: var(--color-muted);
    cursor: pointer;
}

.sidebar-right-toggle {
    text-align: left;
}

.sidebar-toggle:hover, .sidebar-right-toggle:hover {
    color: var(--color-text-primary);
}

.sidebar-toggle i, .sidebar-right-toggle i {
    font-size: 1.25rem;
    transition: var(--transition-transform-moderate);
}

.sidebar-toggle:hover i, .sidebar-right-toggle:hover i {
    transform: scale(1.2);
}

/* Collapsed state styling for toggle - !important for state override */
.sidebar.collapsed .sidebar-toggle, .sidebar-right.collapsed .sidebar-right-toggle {
    text-align: center !important;
}

/* Navigation styling */
.sidebar-nav, .sidebar-right-nav {
    padding: var(--space-4) var(--space-3);
}

/* ===================================================
   LEFT SIDEBAR SPECIFIC STYLES
   ===================================================
*/

.nav-item {
    margin-bottom: var(--space-3);
}

.nav-link {
    color: var(--color-text-secondary);
    display: flex;
    align-items: center;
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-sm);
    text-decoration: none;
}

.nav-link:hover {
    background-color: var(--bg-gray-200);
}

.nav-link i {
    margin-right: var(--space-3);
    font-size: var(--text-lg);
    width: var(--space-6);
    text-align: center;
}

.nav-text {
    white-space: nowrap;
}

/* Collapsed state - hide text, center icons */
.sidebar.collapsed .nav-text {
    display: none !important;
}

.sidebar.collapsed .nav-link {
    justify-content: center !important;
    padding: var(--space-2) !important;
}

.sidebar.collapsed .nav-link i {
    margin-right: 0 !important;
}

/* ===================================================
   RIGHT SIDEBAR SPECIFIC STYLES
   ===================================================
*/

/* Content margin adjustments - !important needed for layout state changes */
.right-sidebar-active .content-wrapper {
    margin-right: 240px !important;
    transition: margin-right 0.3s ease;
}

.right-sidebar-collapsed .content-wrapper {
    margin-right: 60px !important;
    transition: margin-right 0.3s ease;
}

.sidebar-right-item {
    margin-bottom: var(--space-1);
}

/* ===================================================
   RIGHT SIDEBAR LINK STYLES
   Base styles shared by all clickable items
   =================================================== */
.sidebar-right-link {
    display: flex;
    align-items: baseline;
    color: var(--color-text-secondary);
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-sm);
    text-decoration: none;
}

.sidebar-right-link:hover {
    background-color: var(--bg-gray-200);
    text-decoration: none;
    color: var(--color-text-secondary);
}

.sidebar-right-link i {
    margin-right: var(--space-3);
    font-size: var(--text-lg);
    width: var(--space-6);
    text-align: center;
    flex-shrink: 0;
}

.sidebar-right-link-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Specific link type overrides */
.question-link {
    /* inherits from .sidebar-right-link */
}

.new-question-button {
    width: 100%;
    border: none;
    background: none;
    cursor: pointer;
}

.nav-button:hover {
    color: var(--color-primary);
}

/* ===================================================
   COLLAPSED STATE
   =================================================== */
.sidebar-right.collapsed .sidebar-title,
.sidebar-right.collapsed .sidebar-right-link-text {
    display: none !important;
}

.sidebar-right.collapsed .sidebar-right-link {
    justify-content: center;
    padding: var(--space-2);
    align-items: center;
}

.sidebar-right.collapsed .sidebar-right-link i {
    margin-right: 0;
}

/* ===================================================
   UTILITY CLASSES
   =================================================== */
.sidebar-title {
    margin-bottom: var(--space-4);
    font-weight: var(--font-bold);
    padding-left: var(--space-4);
}

.sidebar-divider {
    border: none;
    border-top: 1px solid var(--color-border);
    margin: var(--space-3) var(--space-4);
}

.sidebar-item-spaced {
    margin-top: var(--space-5);
}

.navigation-buttons {
    margin-top: var(--space-6);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

@media (max-width: 768px) {
    .content-wrapper {
        margin-right: 0 !important;
    }
}
