.category-table-grid {
  display: grid;
  grid-template-columns: repeat(var(--ct-cols, 3), 319px);
  grid-auto-rows: auto;
  width: fit-content;
  min-width: 960px;
  background-color: #F4F4F4;
  border: 1px solid #F4F4F4; /* 外框灰線 1px */
  border-top: 2px solid #5FB1BE; /* 頂部青綠線 */
  box-sizing: content-box;
}

/* Grid Cell 基本樣式 */
.grid-cell {
  box-sizing: border-box;
}
.grid-cell .cell-inner {
  height: 100%;
  box-sizing: border-box;
}

/* 標題列 */
.grid-cell.header .cell-inner {
  background-color: #F4F4F4;
  padding: 22px 25px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.grid-cell.header.mid-col,
.grid-cell.header.first-col {
  border-right: 2px solid #FFFFFF; /* 標題之間白線 2px */
}
.grid-cell.header.last-col { border-right: 0; }

/* 內容列 */
.grid-cell.item {
  border-bottom: 1px solid #F4F4F4; /* 每個內容格子底線 */
}
.grid-cell.item .cell-inner {
  background-color: #FFFFFF;
  padding: 22px 25px;
  display: flex;
  align-items: flex-start;
}
.grid-cell.item.mid-col,
.grid-cell.item.last-col {
  border-left: 2px solid #F4F4F4; /* 內容之間灰線 2px（由右側欄提供左線） */
}
.grid-cell.item.first-col { border-left: 0; }

/* 移除最後一列的底線（假設 3 欄） */
.grid-cell.item:nth-last-child(-n+3) {
  border-bottom: none;
}

/* 最右邊外框由容器提供 1px，不在最後一欄額外加右框，避免厚度不一 */

/* 前台表格樣式 */
.category-table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 auto;
}
.category-title { width: 100%; text-align: center; }
.category-title h2 {
  color: #403E32;
  font-family: 'Noto Sans TC', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 25.6px;
  letter-spacing: 1.6px;
  margin: 0; padding: 0;
  font-style: normal;
}

.item-description { width: 100%; word-wrap: break-word; overflow-wrap: break-word; }
.item-description p {
  color: #403E32;
  font-family: 'Noto Sans TC', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 25.6px;
  letter-spacing: 1.6px;
  text-align: justify;
  margin: 0; padding: 0;
  font-style: normal;
}
