/* ==========================================================
   YOGERA — FORUM PAGE STYLES
   Used by: forum.html only. Depends on shared.css + resources.css
   (reuses .res-hero, .soon-badge, .res-note, .res-cta-wrap).
   ========================================================== */

.forum-cats{ display:grid; grid-template-columns:repeat(5, 1fr); gap:12px; }
.forum-cat{
  display:flex; align-items:center; gap:10px; padding:16px 14px; border-radius:var(--radius-md);
  border:1px solid var(--line); background:var(--surface); text-align:left;
  transition:all var(--dur-comp) var(--ease);
}
.forum-cat:hover{ border-color:var(--blue-glow); background:var(--surface-raised); transform:translateY(-2px); }
.forum-cat.is-active{ border-color:var(--blue); background:linear-gradient(135deg, var(--blue-soft), var(--purple-soft)), var(--surface-raised); box-shadow:0 0 0 1px var(--blue); }
.forum-cat .forum-cat-icon{
  width:36px; height:36px; border-radius:10px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  font-size:15px; color:#fff; background:linear-gradient(135deg, var(--blue), var(--purple));
}
.forum-cat .forum-cat-body{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1; }
.forum-cat .forum-cat-body b{ font-size:13px; font-weight:700; }
.forum-cat .forum-cat-body span{ font-size:11px; color:var(--text-muted); line-height:1.4; }
.forum-cat .forum-cat-count{ font-family:var(--font-mono); font-size:11px; color:var(--text-faint); flex-shrink:0; }
@media (max-width:960px){ .forum-cats{ grid-template-columns:repeat(3, 1fr); } }
@media (max-width:640px){ .forum-cats{ grid-template-columns:1fr 1fr; } .forum-cat .forum-cat-body span{ display:none; } }

.forum-list-head{ display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.forum-list-head h2{ font-family:var(--font-display); font-size:20px; }

.forum-threads{ display:flex; flex-direction:column; gap:10px; }
.forum-thread{
  display:flex; align-items:center; gap:16px; padding:18px 20px; border-radius:var(--radius-md);
  border:1px solid var(--line); background:var(--surface);
  transition:all var(--dur-comp) var(--ease);
}
.forum-thread:hover{ border-color:var(--blue-glow); background:var(--surface-raised); transform:translateY(-2px); box-shadow:0 12px 26px var(--shadow-sm); }
.forum-thread.is-hidden{ display:none; }
.forum-thread .forum-thread-main{ flex:1; min-width:0; }
.forum-thread .forum-thread-tag{
  display:inline-block; font-family:var(--font-mono); font-size:10px; letter-spacing:0.04em; text-transform:uppercase;
  color:var(--blue); margin-bottom:6px;
}
.forum-thread h4{ font-family:var(--font-display); font-size:15px; font-weight:700; margin-bottom:4px; }
.forum-thread p{ font-size:13px; color:var(--text-muted); line-height:1.5; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.forum-thread .forum-thread-meta{ font-size:11.5px; color:var(--text-faint); margin-top:8px; }
.forum-thread .forum-thread-stats{
  flex-shrink:0; display:flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--text-secondary);
  padding:8px 14px; border-radius:var(--radius-pill); background:var(--bg-deep);
}
@media (max-width:640px){
  .forum-thread{ flex-direction:column; align-items:flex-start; gap:10px; }
  .forum-thread p{ white-space:normal; }
}
