/* Communities hub — page-specific styles (loaded via link so soft-nav keeps them) */
.communities-wrap { max-width: 720px; margin: 0 auto; padding: 8px 0 40px; }
.communities-wrap h1 { font-size: 1.5rem; font-weight: 700; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 2px; }
.communities-intro { font-size: 0.95rem; color: var(--text-muted, #666); margin-bottom: 24px; }
.comm-section { margin-bottom: 16px; padding: 16px 20px; background: var(--bg-light, #fff); border: 2px solid var(--border, rgba(26,26,26,0.1)); border-radius: var(--radius, 8px); }
.comm-list { display: flex; flex-direction: column; gap: 10px; }
.comm-list a,
.comm-card {
    display: block;
    padding: 14px 18px;
    background: var(--bg, #f5f5f0);
    border: 2px solid var(--border, rgba(26,26,26,0.1));
    border-radius: var(--radius, 8px);
    color: var(--primary, #1a1a1a);
    font-weight: 600;
    text-decoration: none;
}
.comm-list a:hover,
.comm-card:hover { border-color: var(--primary, #1a1a1a); }
.comm-meta { font-size: 0.8rem; font-weight: 500; color: var(--text-muted, #666); margin-top: 4px; }
.comm-empty { color: var(--text-muted, #666); font-size: 0.95rem; }
.comm-empty a { color: var(--primary, #1a1a1a); font-weight: 600; text-decoration: none; }
.comm-skeleton { display: flex; flex-direction: column; gap: 10px; }
.comm-skeleton-item {
    height: 64px;
    border-radius: var(--radius, 8px);
    background: linear-gradient(90deg, rgba(26,26,26,0.06) 25%, rgba(26,26,26,0.1) 50%, rgba(26,26,26,0.06) 75%);
    background-size: 200% 100%;
    animation: comm-shimmer 1.2s ease-in-out infinite;
}
@keyframes comm-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
