/* ─── Community Page ─────────────────────────────────────── */
.comm-wrap{max-width:1100px;margin:0 auto;padding:40px 20px 60px}
.comm-header{text-align:center;margin-bottom:36px}
.comm-title{font-family:'Unbounded',sans-serif;font-size:28px;font-weight:900;color:var(--text);margin:0}
.comm-sub{font-size:13px;color:var(--t2);margin:6px 0 20px}
.comm-search-wrap{max-width:380px;margin:0 auto 14px}
.comm-search{width:100%;padding:10px 16px;border-radius:10px;border:1px solid var(--border);background:var(--d2);color:var(--text);font-family:'DM Mono',monospace;font-size:12px;outline:none;transition:border .2s}
.comm-search:focus{border-color:var(--y)}
.comm-stats{font-size:11px;color:var(--t3);display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.comm-join-btn{display:inline-block;padding:8px 22px;border-radius:10px;background:var(--y);color:var(--d1);font-family:'Unbounded',sans-serif;font-size:11px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s}
.comm-join-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(252,219,68,.35)}

/* Grid */
.comm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}

/* Card */
.comm-card{display:block;background:var(--d2);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;text-decoration:none;color:inherit}
.comm-card:hover{transform:translateY(-3px);border-color:var(--y);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.comm-card-top{position:relative;display:flex;justify-content:center;padding:24px 16px 0;background:linear-gradient(135deg,var(--d3) 0%,var(--d2) 100%)}
.comm-avatar{width:72px;height:72px;border-radius:50%;border:3px solid var(--y);object-fit:cover}
.comm-avatar-ph{display:flex;align-items:center;justify-content:center;background:var(--ydim);color:var(--y);font-family:'Unbounded',sans-serif;font-weight:700;font-size:28px}
.comm-role{position:absolute;top:12px;right:12px;font-size:9px;font-weight:700;padding:2px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}
.role-admin{background:rgba(239,68,68,.15);color:#ef4444}
.role-mod{background:rgba(168,85,247,.15);color:#a855f7}
.role-member{background:rgba(100,116,139,.15);color:#94a3b8}

/* Card body */
.comm-card-body{padding:14px 16px 18px;text-align:center}
.comm-name{font-family:'Unbounded',sans-serif;font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.comm-username{font-size:11px;color:var(--t3);margin-top:2px}
.comm-bio{font-size:11px;color:var(--t2);margin-top:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.comm-meta{display:flex;justify-content:center;gap:12px;margin-top:12px;font-size:10px;color:var(--t3)}
.comm-stat{color:var(--y);font-weight:600}
.comm-joined{opacity:.7}

/* Empty */
.comm-empty{grid-column:1/-1;text-align:center;padding:60px 20px}
.comm-empty-ico{font-size:48px;margin-bottom:10px}
.comm-empty-txt{font-size:14px;color:var(--t3)}

/* Pagination */
.comm-loader-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--y);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto}
@keyframes spin{to{transform:rotate(360deg)}}

/* Responsive */
@media(max-width:600px){
    .comm-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
    .comm-avatar{width:56px;height:56px}
    .comm-name{font-size:12px}
    .comm-title{font-size:22px}
}
