/* Forum frontend */

.forum-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.forum-header h1 { margin:0; font-size:28px; }

.forum-alert { padding:10px 14px; border-radius:8px; margin-bottom:16px; font-size:14px; }
.forum-alert-success { background:#DCFCE7; color:#166534; }
.forum-alert-error   { background:#FEE2E2; color:#991B1B; }
.forum-alert-info    { background:#EEF2FF; color:#3730A3; }

/* Category + forum list */
.forum-cat { margin-bottom:32px; }
.forum-cat-head h2 { margin:0 0 4px; font-size:18px; }
.forum-list { background:white; border:1px solid #E2E8F0; border-radius:12px; overflow:hidden; }
.forum-list-head, .forum-row { display:grid; grid-template-columns:1fr 130px 220px; gap:16px; align-items:center; padding:14px 18px; }
.forum-list-head { background:#F8FAFC; font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:#64748B; font-weight:700; }
.forum-list-head .forum-list-stats { text-align:center; }
.forum-row { border-top:1px solid #E2E8F0; text-decoration:none; color:inherit; transition:background .12s; }
.forum-row:hover { background:#F8FAFC; }
.forum-row-main { display:flex; gap:14px; align-items:center; }
.forum-icon { font-size:24px; width:44px; height:44px; display:flex; align-items:center; justify-content:center; background:#EEF2FF; border-radius:10px; flex-shrink:0; }
.forum-row-stats { text-align:center; font-size:13px; }
.forum-row-stats strong { font-size:16px; display:block; }

/* Thread list */
.forum-thread-list { background:white; border:1px solid #E2E8F0; border-radius:12px; overflow:hidden; margin-bottom:16px; }
.forum-thread-head { display:grid; grid-template-columns:1fr 110px 200px; gap:16px; padding:12px 18px; background:#F8FAFC; font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:#64748B; font-weight:700; }
.forum-thread-row { display:grid; grid-template-columns:1fr 110px 200px; gap:16px; align-items:center; padding:14px 18px; border-top:1px solid #E2E8F0; text-decoration:none; color:inherit; transition:background .12s; }
.forum-thread-row:hover { background:#F8FAFC; }
.forum-thread-row.is-sticky { background:#FFFBEB; }
.forum-thread-row.is-sticky:hover { background:#FEF3C7; }
.forum-thread-main { display:flex; gap:12px; align-items:center; }
.forum-thread-stats { text-align:center; font-size:13px; }
.forum-pin, .forum-lock { font-size:14px; margin-right:2px; }

/* Posts */
.forum-post { display:grid; grid-template-columns:200px 1fr; gap:0; background:white; border:1px solid #E2E8F0; border-radius:12px; overflow:hidden; margin-bottom:16px; }
.forum-post-sidebar { padding:18px; background:#F8FAFC; border-right:1px solid #E2E8F0; text-align:center; }
.forum-post-avatar { display:inline-flex; width:80px; height:80px; border-radius:50%; background:linear-gradient(135deg,#6366F1,#8B5CF6); color:white; align-items:center; justify-content:center; font-weight:700; font-size:24px; overflow:hidden; text-decoration:none; }
.forum-post-avatar img { width:100%; height:100%; object-fit:cover; }
.forum-post-author { display:block; margin:8px 0 6px; font-size:15px; }
.forum-post-author a { color:#0F172A; text-decoration:none; }
.forum-post-meta { font-size:11px; color:#64748B; line-height:1.6; }
.forum-post-body { padding:18px 22px; }
.forum-post-head { display:flex; gap:8px; align-items:center; margin-bottom:12px; padding-bottom:8px; border-bottom:1px dashed #E2E8F0; }
.forum-post-content { line-height:1.6; }
.forum-post-content p { margin:0 0 10px; }
.forum-post-content blockquote { border-left:3px solid #CBD5E1; padding:6px 14px; margin:10px 0; background:#F8FAFC; color:#475569; font-style:italic; }
.forum-post-content code { background:#F1F5F9; padding:1px 6px; border-radius:4px; font-size:13px; }
.forum-post-content pre { background:#0F172A; color:#E2E8F0; padding:14px; border-radius:8px; overflow:auto; }
.forum-post-content pre code { background:none; padding:0; color:inherit; }
.forum-post-content a { color:#6366F1; }
.forum-post-signature { margin-top:16px; padding-top:12px; border-top:1px dashed #E2E8F0; font-size:12px; color:#94A3B8; font-style:italic; }

.forum-post-actions { display:flex; gap:8px; margin-top:14px; align-items:center; }
.forum-like-form { display:inline; }
.forum-like-btn { border:1px solid #E2E8F0; background:white; padding:5px 12px; border-radius:20px; font-size:13px; cursor:pointer; transition:all .15s; }
.forum-like-btn:hover { border-color:#6366F1; color:#6366F1; }
.forum-like-btn.liked { background:#EEF2FF; border-color:#6366F1; color:#6366F1; }
.forum-likes-static { padding:5px 12px; background:#F8FAFC; border-radius:20px; font-size:13px; color:#64748B; }
.forum-action { display:inline-block; padding:5px 10px; border:1px solid #E2E8F0; background:white; border-radius:6px; font-size:12px; text-decoration:none; color:#475569; cursor:pointer; }
.forum-action:hover { border-color:#CBD5E1; }
.forum-action-danger:hover { background:#FEE2E2; color:#991B1B; border-color:#FECACA; }

/* Reply form */
.forum-reply { background:white; border:1px solid #E2E8F0; border-radius:12px; padding:20px; margin-top:24px; }
.forum-reply h3 { margin:0 0 12px; font-size:16px; }
.forum-reply textarea, .forum-reply input { width:100%; padding:10px 14px; border:1px solid #E2E8F0; border-radius:8px; font-size:14px; font-family:inherit; }
.forum-reply textarea { font-family:ui-monospace,Menlo,monospace; font-size:13px; min-height:140px; resize:vertical; }
.forum-reply textarea:focus, .forum-reply input:focus { outline:none; border-color:#6366F1; box-shadow:0 0 0 3px rgba(99,102,241,.15); }
.forum-reply .form-group { margin-bottom:14px; }
.forum-reply label { display:block; font-weight:600; font-size:13px; margin-bottom:6px; }
.forum-reply button { margin-top:6px; }

/* Mini avatar (thread list) */
.forum-mini-avatar { display:inline-flex; width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,#6366F1,#8B5CF6); color:white; align-items:center; justify-content:center; font-size:12px; font-weight:700; overflow:hidden; flex-shrink:0; }
.forum-mini-avatar img { width:100%; height:100%; object-fit:cover; }

/* Pagination */
.forum-pagination { display:flex; gap:6px; justify-content:center; margin:20px 0; }
.forum-pagination a { padding:6px 12px; border:1px solid #E2E8F0; border-radius:6px; text-decoration:none; color:#475569; }
.forum-pagination a:hover { border-color:#6366F1; color:#6366F1; }
.forum-pagination a.active { background:#6366F1; color:white; border-color:#6366F1; }

/* Mod tools (staff) */
.forum-mod-bar { display:flex; gap:8px; align-items:center; flex-wrap:wrap; padding:10px 14px; background:linear-gradient(135deg,#FEE2E2,#FECACA); border:1px solid #FCA5A5; border-radius:10px; margin-bottom:16px; font-size:13px; }
.forum-mod-bar strong { margin-right:6px; color:#991B1B; }
.forum-mod-btn { padding:4px 10px; background:white; border:1px solid #FCA5A5; border-radius:6px; cursor:pointer; font-size:12px; color:#991B1B; font-weight:600; }
.forum-mod-btn:hover { background:#FEE2E2; }
.forum-mod-btn-danger { background:#DC2626; color:white; border-color:#DC2626; }
.forum-mod-btn-danger:hover { background:#B91C1C; }
.forum-action-mod { background:#FEF2F2; border-color:#FCA5A5; color:#991B1B; }
.forum-action-mod:hover { background:#FEE2E2; }

/* Nesting */
.forum-row.is-sub { background:#FAFBFC; }
.forum-row.is-sub .forum-icon { background:#F1F5F9; font-size:18px; width:36px; height:36px; }
.forum-cat.is-sub-cat { margin-left:24px; padding-left:16px; border-left:3px solid #E2E8F0; }
.forum-breadcrumb { font-size:13px; }
.forum-breadcrumb a { text-decoration:none; }
.forum-breadcrumb a:hover { color:#6366F1; }

/* Block (latest activity widget) */
.forum-block-recent { background:#F8FAFC; border:1px solid #E2E8F0; border-radius:12px; padding:18px; margin:20px 0; }
.forum-block-recent h3 { margin:0 0 12px; font-size:16px; }
.forum-block-recent ul { list-style:none; padding:0; margin:0; }
.forum-block-recent li { padding:6px 0; border-bottom:1px solid #E2E8F0; }
.forum-block-recent li:last-child { border-bottom:0; }
.forum-block-recent a { color:#0F172A; text-decoration:none; }
.forum-block-recent a:hover { color:#6366F1; }

/* Responsive */
@media (max-width: 720px) {
    .forum-list-head, .forum-row { grid-template-columns:1fr; }
    .forum-list-head .forum-list-stats, .forum-list-head .forum-row-last { display:none; }
    .forum-row-stats, .forum-row-last { display:none; }
    .forum-thread-head, .forum-thread-row { grid-template-columns:1fr; }
    .forum-thread-head .muted, .forum-thread-stats, .forum-thread-last { display:none; }
    .forum-post { grid-template-columns:1fr; }
    .forum-post-sidebar { display:flex; gap:14px; align-items:center; text-align:left; padding:12px; border-right:0; border-bottom:1px solid #E2E8F0; }
    .forum-post-avatar { width:48px; height:48px; font-size:16px; }
    .forum-post-author { margin:0; }
}
