/* LAYOUT 2 COLONNES (SIDEBAR + MAIN) */
.dnet-layout-two-columns {
  display: flex;
  gap: var(--dnet-spacing-lg);
  align-items: flex-start;
}

/* Sidebar */
.dnet-sidebar {
  flex: 0 0 260px;
}

.dnet-sidebar-inner {
  background: var(--dnet-color-surface);
  border-radius: var(--dnet-radius-md);
  border: 1px solid var(--dnet-color-border);
  box-shadow: var(--dnet-shadow-soft);
  padding: var(--dnet-spacing-md);
  position: sticky;
  top: var(--dnet-spacing-md);
}

.dnet-sidebar-title {
  margin: 0 0 var(--dnet-spacing-sm) 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--dnet-color-text);
}

.dnet-sidebar-subtitle {
  margin: var(--dnet-spacing-md) 0 var(--dnet-spacing-sm);
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--dnet-color-text-muted);
}

.dnet-sidebar-nav,
.dnet-sidebar-categories {
  list-style: none;
  margin: 0;
  padding: 0;
}

.dnet-sidebar-nav li,
.dnet-sidebar-categories li {
  margin-bottom: 4px;
}

.dnet-sidebar-link {
  display: block;
  padding: 6px 10px;
  border-radius: var(--dnet-radius-sm);
  color: var(--dnet-color-text);
  text-decoration: none;
  font-size: 0.9rem;
  transition: background 0.15s ease, color 0.15s ease;
}

.dnet-sidebar-link:hover {
  background: var(--dnet-color-primary-soft);
  color: var(--dnet-color-primary);
}

.dnet-sidebar-link.active {
  background: var(--dnet-color-primary);
  color: #fff;
}

.dnet-sidebar-empty {
  font-size: 0.85rem;
  color: var(--dnet-color-text-muted);
}

/* Zone principale */
.dnet-main {
  flex: 1 1 auto;
}

/* Responsive: sidebar au-dessus en mobile */
@media (max-width: 900px) {
  .dnet-layout-two-columns {
    flex-direction: column;
  }

  .dnet-sidebar {
    flex: 1 1 auto;
  }

  .dnet-sidebar-inner {
    position: static;
  }
}
