/* ==========================================================================
   Layout
   ========================================================================== */

.forum-container {
  display: flex;
  min-height: 100vh;
  background-color: var(--forum-container-bg);
  background-image: var(--paper-container-bg);
  background-size: contain;
  background-position: center;
  background-attachment: fixed;
}

.forum-sidebar {
  width: var(--sidebar-width);
  background-color: var(--sidebar-bg);
  border-right: 1px solid var(--border-color);
  padding: 0.75rem 1.5rem;
  overflow-y: auto;
  height: calc(100vh - var(--header-height));
  position: sticky;
  top: var(--header-height);
  flex-shrink: 0;
  transition: transform 0.3s ease;
  box-shadow: var(--shadow);
  background-blend-mode: saturation;
}

.forum-main {
  flex: 1;
  padding: 1.5rem;
  min-width: 0;
  transition: margin-left 0.3s ease;
}

.content-wrapper {
  width: 100%;
  max-width: none;
}

/* Universal hidden sidebar state */
.forum-container.sidebar-hidden .forum-sidebar {
  transform: translateX(-100%);
}

.forum-container.sidebar-hidden .forum-main {
  margin-left: calc(-1 * var(--sidebar-width));
}

.forum-container.sidebar-hidden .content-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .forum-container {
    flex-direction: column;
  }
  
  .forum-sidebar {
    position: fixed;
    top: var(--header-height);
    left: 0;
    width: 280px;
    z-index: 999;
    box-shadow: var(--shadow);
  }
  
  .forum-container.sidebar-hidden .forum-sidebar {
    transform: translateX(-100%);
  }
  
  .forum-container:not(.sidebar-hidden) .forum-sidebar {
    transform: translateX(0);
  }
  
  .forum-main {
    padding: 1rem;
    width: 100%;
    margin-left: 0;
  }
  
  .forum-container.sidebar-hidden .forum-main {
    margin-left: 0;
  }
  
  .forum-container.sidebar-hidden .content-wrapper {
    padding: 0;
    max-width: none;
    margin: 0;
  }
}