/* =========================================================================
 *  rbnd-forum.css — Diễn đàn (dùng lại biến màu của rbnd-app.css)
 * ====================================================================== */
.forum { padding-top: 12px; padding-bottom: 32px; }
.forum h1 { font-size: 1.6rem; margin: 0 0 8px; }
.forum-head { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.forum-desc { color: var(--rbnd-muted); margin: 0; }
.forum-search { display: flex; gap: 6px; max-width: 360px; width: 100%; }
.forum-search input { flex: 1; min-width: 0; border: 1px solid var(--rbnd-border); border-radius: 8px; padding: 6px 12px; }

.forum-box { background: #fff; border: 1px solid var(--rbnd-border); border-radius: var(--rbnd-radius); padding: 16px 20px; margin-bottom: 16px; }
.forum-box-title { font-size: 1.1rem; font-weight: 700; margin: 0 0 12px; }

/* Lưới danh mục */
.forum-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin-bottom: 20px; }
.forum-cat { display: flex; align-items: center; gap: 12px; padding: 14px; background: #fff; border: 1px solid var(--rbnd-border);
             border-radius: var(--rbnd-radius); color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.forum-cat:hover { border-color: var(--rbnd-primary); box-shadow: 0 2px 10px rgba(10, 96, 61, .08); }
.forum-cat-icon { flex: 0 0 42px; height: 42px; border-radius: 10px; display: grid; place-items: center;
                  background: rgba(10, 96, 61, .1); color: var(--rbnd-primary); font-size: 1.1rem; }
.forum-cat-text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.forum-cat-text small { color: var(--rbnd-muted); line-height: 1.35; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.forum-cat-count { font-weight: 700; color: var(--rbnd-primary); white-space: nowrap; text-align: right; }
.forum-cat-count small { font-weight: 400; color: var(--rbnd-muted); }

/* Danh sách bài */
.forum-list, .forum-comments, .forum-cat-mini { list-style: none; margin: 0; padding: 0; }
.forum-row { display: flex; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--rbnd-border); }
.forum-row:last-child { border-bottom: 0; }
.forum-row-main { flex: 1; min-width: 0; }
.forum-row-title { display: block; font-weight: 600; color: #212529; text-decoration: none; overflow-wrap: anywhere; }
.forum-row-title:hover { color: var(--rbnd-primary); }
.forum-row-stats { display: flex; gap: 12px; color: var(--rbnd-muted); font-size: .85rem; white-space: nowrap; }

.forum-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: 0 0 40px; background: #eee; }
.forum-meta { color: var(--rbnd-muted); font-size: .85rem; }
.forum-meta strong { color: #212529; margin-right: 6px; }
.forum-meta a { color: var(--rbnd-primary); }

/* Cột bên */
.forum-cat-mini a { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 8px; color: inherit; text-decoration: none; }
.forum-cat-mini a i { width: 18px; text-align: center; color: var(--rbnd-primary); }
.forum-cat-mini a small { margin-left: auto; color: var(--rbnd-muted); }
.forum-cat-mini a:hover, .forum-cat-mini a.is-active { background: rgba(10, 96, 61, .08); }
.forum-cat-mini a.is-active { font-weight: 600; }

/* Chi tiết bài */
.forum-badge { display: inline-block; font-size: .8rem; padding: 2px 10px; border-radius: 99px; background: rgba(10, 96, 61, .1);
               color: var(--rbnd-primary); text-decoration: none; margin-bottom: 8px; }
.forum-topic h1 { font-size: 1.5rem; overflow-wrap: anywhere; }
.forum-author { display: flex; gap: 10px; align-items: center; margin: 8px 0 16px; }
.forum-text { white-space: normal; overflow-wrap: anywhere; line-height: 1.65; }
.forum-topic-text { font-size: 1.02rem; }
.forum-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.forum-like, .forum-del { background: none; border: 1px solid var(--rbnd-border); border-radius: 99px; padding: 4px 12px;
                          font-size: .85rem; color: var(--rbnd-muted); cursor: pointer; text-decoration: none; }
.forum-like:hover { border-color: var(--rbnd-primary); color: var(--rbnd-primary); }
.forum-like.is-liked { border-color: var(--rbnd-primary); color: var(--rbnd-primary); background: rgba(10, 96, 61, .08); }
.forum-del:hover { border-color: var(--rbnd-danger); color: var(--rbnd-danger); }

/* Bình luận */
.forum-comment-form { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.forum-comment-form textarea { width: 100%; border: 1px solid var(--rbnd-border); border-radius: 8px; padding: 8px 12px; resize: vertical; }
.forum-comment-form button { align-self: flex-end; }
.forum-comment { display: flex; gap: 10px; padding: 12px 0; border-top: 1px solid var(--rbnd-border); }
.forum-comment-body { flex: 1; min-width: 0; }
.forum-comment .forum-actions { margin-top: 6px; }
.forum-comment .forum-like, .forum-comment .forum-del { padding: 2px 10px; font-size: .8rem; }
.forum-empty, .forum-login-hint { color: var(--rbnd-muted); margin: 8px 0 0; }

/* Form tạo bài */
.forum-form label { display: block; font-weight: 600; margin: 14px 0 6px; }
.forum-form-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }

@media (max-width: 575.98px) {
    .forum-box { padding: 12px 14px; }
    .forum-row { align-items: flex-start; flex-wrap: wrap; }
    .forum-row-stats { width: 100%; padding-left: 52px; }
}
