/* 사이드바 시작 */
    .sidebar-toggle {
      position: fixed;
      top: 20px;
      left: 20px;
      z-index: 2000;
      background: #507bff;
      color: white;
      border: none;
      font-size: 22px;
      padding: 10px 14px;
      border-radius: 8px;
      display: flex;
      justify-content: center;
      align-items: center;
      cursor: pointer;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
    }

.sidebar {
  position: fixed;
  top: 0;
  left: -300px;
  width: 240px;
  height: 100vh;
  background: linear-gradient(to bottom right, #ffffff, #f1f3f5);
  border-right: 1px solid #ddd;
  padding: 30px 20px;
  box-shadow: 3px 0 12px rgba(0, 0, 0, 0.15);
  transition: left 0.3s ease;
  z-index: 1500;
  display: flex;
  flex-direction: column;
  overflow-y: auto; /* ⭐ 중요 */
}

    .sidebar.open {
      left: 0;
    }

.menu-list {
  list-style: none;
  padding: 0;
  margin-top: 60px;
}

    .menu-list li {
      margin-bottom: 20px;
    }

.menu-list li a {
  display: block;
  text-decoration: none;
  color: #333;
  font-size: 16px; /* 고정 크기 */
  font-weight: 600; /* 550 대신 600 사용, 브라우저 호환성 좋음 */
  font-family: 'Apple SD Gothic Neo', Arial, sans-serif; /* 한글/영문 안정적 */
  padding: 10px 12px;
  border-radius: 8px;
  transition: background-color 0.2s ease, color 0.2s ease;
  text-align: left; /* 좌측 정렬 */
}

    .menu-list li a:hover {
      background-color: #e0f0ff;
      color: #507bff;
      cursor: pointer;
    }

.sidebar-bottom {
  margin-top: auto; /* ⭐ 핵심 */
  border-top: 1px solid #eee;
  padding-top: 15px;
}

    .sidebar-bottom ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .sidebar-bottom li {
      margin-bottom: 10px;
    }

    .sidebar-bottom a,
    .sidebar-bottom button {
      display: block;
      color: #507bff;
      background: none;
      border: none;
      cursor: pointer;
      text-align: left;
      padding: 6px 0;
      font-size: 15px;
    }

    .sidebar-bottom button:hover,
    .sidebar-bottom a:hover {
      text-decoration: underline;
    }

    .sponsor-popup {
      display: none;
      margin-top: 10px;
      background: #fefefe;
      padding: 12px;
      border: 1px solid #ccc;
      border-radius: 6px;
      font-size: 14px;
      color: #333;
    }

    .sponsor-popup.show {
      display: block;
    }

    /* 하위 메뉴 숨김 */
.submenu {
  display: none;
  list-style: none;
  padding-left: 15px;
  margin-top: 5px;
}

/* 열릴 때 */
.has-submenu.open .submenu {
  display: block;
  animation: fadeIn 0.2s ease-in;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to   { opacity: 1; transform: translateY(0); }
}
/*사이드바 종료*/