.category-table-grid {
  display: grid;
  grid-template-columns: repeat(var(--ct-cols, 3), 366px);
  grid-auto-rows: auto;
  width: fit-content;
  min-width: 1100px;
  background-color: #F4F4F4;
  border: 1px solid #F4F4F4; /* 外框灰線 1px */
  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 .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; }

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

/* 前台表格樣式 */
.category-table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 auto;
}

.category-table-container {
  min-width: 1100px;
  width: fit-content;
  display: flex;
  gap: 0;
  background-color: #F4F4F4;
  border-top: 2px solid #F29345;
  padding: 0;
  margin: 0;
}

.category-column {
  width: 365.33px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  background-color: #F4F4F4;
}

.category-header { 
  width: 100%;
  height: 70px;
  background-color: #F4F4F4;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px 25px;
  box-sizing: border-box;
  border-right: 2px solid #FFFFFF; /* 只在標題列之間顯示白線 */
}
.category-column:last-child .category-header { border-right: none; }
.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;
}

.category-item {
  width: 100%;
  min-height: 96px;
  background-color: #FFFFFF;
  border-left: 2px solid #F4F4F4; /* 單側左邊框，避免雙線 */
  border-right: 0; /* 由最後一欄補齊右側外框 */
  padding: 22px 25px;
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
}

/* 最後一欄補上右側 2px 邊框 */
.category-column:last-child .category-item { border-right: 2px solid #F4F4F4; }

.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;
}
