/* ── sub-menu layout ───────────────────────────────
   Used by any section that has multiple sub-pages.
   Desktop (≥500px): persistent left sidebar.
   Mobile (<500px):  sidebar hidden; hamburger in header slides it in.
────────────────────────────────────────────────── */

.submenu-layout {
  display: flex;
  flex: 1;
  min-height: 0;
}

/* ── sidebar ───────────────────────────────────── */

.submenu-sidebar {
  display: flex;
  flex-direction: column;
  width: 130px;
  flex-shrink: 0;
  border-right: 1px solid var(--border);
  padding-top: 4px;
  gap: 2px;
}

.submenu-item {
  background: transparent;
  border: none;
  outline: none;
  color: var(--text-muted);
  font-family: var(--font);
  font-weight: var(--font-weight);
  font-size: 13px;
  padding: 10px 12px;
  text-align: left;
  cursor: pointer;
  width: 100%;
  letter-spacing: 0.05em;
  touch-action: manipulation;
  border-radius: var(--radius);
}

.submenu-item:hover {
  color: var(--accent);
}

.submenu-item.is-active {
  color: var(--accent);
  background: rgba(51, 17, 204, 0.06);
}

/* ── content pane ──────────────────────────────── */

.submenu-content {
  flex: 1;
  min-width: 0;
  padding-left: var(--gap);
  padding-top: 4px;
}

/* ── overlay (mobile only, shown when sidebar open) */

.submenu-overlay {
  display: none;
}

/* ── hamburger trigger ─────────────────────────── */

.submenu-hamburger-btn {
  display: none;
  font-size: 20px;
  line-height: 1;
  padding: 4px 6px;
  margin-left: auto;
}

/* ── mobile breakpoint ─────────────────────────── */

@media (max-width: 499px) {
  .submenu-hamburger-btn {
    display: block;
  }

  .submenu-sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: -180px;
    width: 180px;
    z-index: 200;
    background: var(--surface);
    border-right: 1px solid var(--border);
    padding-top: 72px; /* clear the section header */
    transition: left 0.25s ease;
  }

  .submenu-sidebar.is-open {
    left: 0;
    box-shadow: 4px 0 24px rgba(25, 3, 25, 0.18);
  }

  .submenu-overlay.is-visible {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 199;
    background: rgba(25, 3, 25, 0.45);
  }

  .submenu-content {
    padding-left: 0;
  }
}
