.board-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 8px 0;
  color: #111827;
  /* gray-900 */
  font-family:
    ui-sans-serif,
    system-ui,
    -apple-system,
    Segoe UI,
    Roboto,
    "Noto Sans KR",
    "Apple SD Gothic Neo",
    "Malgun Gothic",
    Helvetica,
    Arial,
    "Apple Color Emoji",
    "Segoe UI Emoji";
}

.board-title {
  margin: 12px 4px 10px;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  /* 상단 배경이 어두울 때 대비 */
}

/* 공통 */
table {
  width: 100%;
}

/* =======================
   1) HEADER TABLE (thead)
   ======================= */
.board-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  background: #fff;
  border: 1px solid #e5e7eb;
  /* gray-200 */
  border-bottom: 0;
  /* 아래는 바디와 잇기 위해 제거 */
  border-radius: 10px 10px 0 0;
  box-shadow:
    0 8px 24px rgba(17, 24, 39, 0.06),
    /* soft */ 0 2px 6px rgba(17, 24, 39, 0.04);
  overflow: clip;
  /* radius 적용 */
}

/* 헤더 배경 */
.board-table thead {
  background: #f3f6f5;
  /* 은은한 라이트 톤 */
}

.board-table thead th {
  color: #374151;
  /* gray-700 */
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.01em;
  text-align: left;
  padding: 14px 12px;
  border-bottom: 1px solid #e5e7eb;
  white-space: nowrap;
}

/* 가운데 정렬할 열: 번호/생성/수정 */
.board-table thead th:nth-child(1),
.board-table thead th:nth-child(4),
.board-table thead th:nth-child(5) {
  text-align: center;
}

/* =======================
   2) BODY TABLE (module 내부)
   ======================= */
.board-container .general-post-page-v1-main > table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-top: 0;
  /* 헤더와 한 장처럼 */
  box-shadow:
    0 8px 24px rgba(17, 24, 39, 0.06),
    0 2px 6px rgba(17, 24, 39, 0.04);
  overflow: clip;
}

.board-container .general-post-page-v1-main table tbody tr {
  border-bottom: 1px solid #f3f4f6;
  /* gray-100 */
  transition: background-color 0.18s ease;
}

.board-container .general-post-page-v1-main table tbody tr:last-child {
  border-bottom: 0;
}

/* 클릭 이동형 행 */
.board-container .general-post-page-v1-main table tbody tr.post-item {
  cursor: pointer;
}

.board-container .general-post-page-v1-main table tbody tr.post-item:hover {
  background: #fafafa;
}

/* 셀 공통 */
.board-container .general-post-page-v1-main table td {
  padding: 14px 12px;
  font-size: 14px;
  color: #374151;
  /* gray-700 */
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 열 너비/정렬 (헤더 colgroup과 맞춤)
   1:80px | 2:auto | 3:auto | 4:150px | 5:150px */
.board-container .general-post-page-v1-main table td:nth-child(1) {
  width: 80px;
  text-align: center;
  color: #6b7280;
  /* gray-500 */
  font-weight: 600;
}

.board-container .general-post-page-v1-main table td:nth-child(2) {
  /* 제목: 자동폭, 좌측 정렬 */
  color: #1f2937;
  /* gray-800 */
  font-weight: 600;
}

.board-container .general-post-page-v1-main table td:nth-child(3) {
  /* 작성자: 자동폭 */
  color: #4b5563;
  /* gray-600 */
}

.board-container .general-post-page-v1-main table td:nth-child(4) {
  width: 150px;
  text-align: center;
  color: #9ca3af;
  /* gray-400 */
  font-size: 13px;
}

.board-container .general-post-page-v1-main table td:nth-child(5) {
  width: 150px;
  text-align: center;
  color: #9ca3af;
  /* gray-400 */
  font-size: 13px;
}

/* 제목 hover 감각 (행 전체 클릭이지만 시각적 강조) */
.board-container .general-post-page-v1-main table td:nth-child(2):hover {
  color: #2d5f3f;
  /* 브랜드 포인트 */
  text-decoration: underline;
  text-decoration-color: #cfe6d8;
  /* 연한 포인트 */
}

@media (max-width: 768px) {
  .board-container {
    padding: 0 10px;
  }

  .board-title {
    font-size: 20px;
  }

  /* header 축소 */
  .board-table {
    font-size: 12px;
  }

  .board-table thead th {
    padding: 12px 8px;
    font-size: 12px;
  }

  /* body 축소 */
  .board-container .general-post-page-v1-main table td {
    padding: 10px 8px;
    font-size: 12px;
  }

  /* header: 5열(수정일시) 숨김 */
  .board-table colgroup col:nth-child(5),
  .board-table thead th:nth-child(5) {
    display: none;
  }

  /* body: 5열(수정일시) 숨김 */
  .board-container .general-post-page-v1-main table td:nth-child(5) {
    display: none;
  }
}

@media (max-width: 520px) {
  /* header: 4열(생성일시)도 숨김 */
  .board-table colgroup col:nth-child(4),
  .board-table thead th:nth-child(4) {
    display: none;
  }

  /* body: 4열(생성일시) 숨김 */
  .board-container .general-post-page-v1-main table td:nth-child(4) {
    display: none;
  }

  /* 제목/작성자 가독성 확보 */
  .board-container .general-post-page-v1-main table td:nth-child(2) {
    max-width: 0;
    /* ellipsis 효율 */
  }
}

/* 아주 작은 화면에서 번호도 축소 */
@media (max-width: 360px) {
  .board-container .general-post-page-v1-main table td:nth-child(1) {
    width: 60px;
  }
}
