Un poco tarde
pero quizás alguien más lo necesite. Debo mencionar que:
- No todo el código CSS es necesario, especialmente los bordes y los colores de fondo para las filas de la tabla, así que siéntete libre de ajustarlos como prefieras.
- Tuve que cambiar el diseño de la tabla regular a flex, ya que no se pueden usar márgenes negativos en las filas de una tabla y hay otros problemas de diseño; además… es más flexible

- Reemplaza Category Group 1 y Category Group 2 con los nombres de grupo de categorías que desees.
- En mi ejemplo usé los IDs de categoría 2 y 4, así que usando las herramientas de desarrollo de Chrome para inspeccionar (ver imagen abajo), encuentra el ID de categoría correcto y reemplaza
[data-category-id="2"]y[data-category-id="4"]en mi ejemplo con tu(s) ID(s).
Pega esto dentro de la pestaña Common:
.category-list{
display: flex;
flex-direction: column;
}
.category-list thead tr{
display: flex;
}
.category-list .topics {
width: 95px;
margin-left: auto;
min-width: 95px;
white-space: nowrap;
}
.category-list tbody tr {
background-color: var(--primary-very-low);
box-sizing: border-box;
display: flex;
}
body .category-list [data-category-id="2"],body .category-list [data-category-id="4"] {
position: relative;
margin-top: 50px;
}
body [data-category-id="2"]::before {
content: "Category Group 1";
}
body [data-category-id="4"]::before {
content: "Category Group 2";
}
body [data-category-id="2"]::before,body [data-category-id="4"]::before {
position: absolute;
top: -35px;
left: 0;
font-weight: bold;
font-size: 15px;
text-transform: uppercase;
color: var(--primary-medium);
}
Pega esto dentro de la pestaña Desktop:
.category-list tbody tr {
margin-bottom: 15px;
border: 1px solid var(--primary-low);
}
Y esto dentro de la pestaña Mobile:
body .category-list-item.category .posts {
width: auto;
margin-left: auto;
}
body .category-list-item>footer,body .subcategory-list-item>footer{
background-color: var(--primary-very-low);
}
.categories-list .category-list th {
padding: 0;
}
.category-list-item>footer .category-stat, .subcategory-list-item>footer .category-stat {
float: right;
}
.category-list-item>footer .category-stat:first-child, .subcategory-list-item>footer .category-stat:first-child{
margin-right: 0;
}
body .category-list-item.category tr:first-of-type{
padding: 10px 0;
border-bottom: 1px solid var(--primary-low);
}
body tr.category-topic-link:last-of-type{
border-bottom: 1px solid var(--primary-low);
}
body .categories-list .category-list th {
padding: 0;
}
body .category-list-item {
border-top: none;
margin-bottom: 10px;
}
body .category-list-item {
padding: 0;
border: 1px solid var(--primary-low)!important;
}
.category-list-item>footer, .subcategory-list-item>footer {
border-top: none;
}
Así es como se ve en resoluciones de escritorio y móvil:


