.board-tabs{display:flex; gap:10px; margin-bottom:24px; flex-wrap:wrap;}
.board-tabs a{
  padding:10px 20px; border-radius:999px; font-weight:700; font-size:0.92rem;
  background:var(--surface); color:var(--ink-soft); box-shadow:var(--shadow-soft);
}
.board-tabs a.active{background:var(--teal-dark); color:#fff;}
.hub-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.hub-card{
  background:var(--surface); border-radius:var(--radius-lg); padding:32px 26px; box-shadow:var(--shadow-soft);
  text-align:center; display:block;
}
.hub-card .hub-icon{width:44px; height:44px; margin:0 auto 16px; color:var(--teal-dark);}
.hub-card h3{font-size:1.15rem; margin-bottom:8px; color:var(--teal-dark);}
.hub-card p{font-size:0.88rem; color:var(--ink-soft);}
@media (max-width:700px){ .hub-grid{grid-template-columns:1fr;} }

.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.gallery-item{display:block; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-soft); background:var(--surface);}
.gallery-item .thumb{width:100%; height:150px; object-fit:cover; display:block; background:var(--bg-alt);}
.gallery-item .cap{padding:10px 12px; font-size:0.85rem; font-weight:700; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
@media (max-width:800px){ .gallery-grid{grid-template-columns:repeat(2,1fr);} }

.post-image{max-width:100%; border-radius:var(--radius-md); margin:16px 0;}
.post-actions{display:flex; gap:10px; margin-top:20px;}
.post-actions a, .post-actions button{
  font-size:0.85rem; font-weight:700; padding:9px 16px; border-radius:999px; border:1.5px solid var(--line);
  background:var(--surface); color:var(--ink-soft); cursor:pointer;
}
.post-actions a:hover, .post-actions button:hover{border-color:var(--teal);}
