/* Shared community-page rules across projects (Aspira/LiveGames/Shops/Sapanbun). */

body { font-size: var(--fs-base); }
.post-text { font-size: var(--fs-base); line-height: 1.65; }
.post-author-name { font-size: var(--fs-sm); }
.post-meta { font-size: var(--fs-xs); }
.post-stats { font-size: var(--fs-xs); }
.post-action-btn { font-size: var(--fs-sm); }
.post-project-tag { font-size: var(--fs-xs); }
.sidebar-nav-item { font-size: var(--fs-base); }
.sidebar-card-title { font-size: var(--fs-md); }
.create-post-input { font-size: var(--fs-base); }
.create-post-action { font-size: var(--fs-sm); }
.guest-prompt-text h3 { font-size: var(--fs-lg); }
.guest-prompt-text p { font-size: var(--fs-sm); }
.btn-login-prompt { font-size: var(--fs-sm); }
.header-logo { font-size: var(--fs-lg); }
.community-footer { font-size: var(--fs-xs); }

/* Feed layout defaults for pages that use feed.css + sidebar stack. */
.feed-layout { grid-template-columns: 1fr !important; }
.nj-tablet .feed-layout,
.is-tablet .feed-layout { grid-template-columns: 240px 1fr !important; }
.nj-desktop .feed-layout,
.is-desktop .feed-layout { grid-template-columns: 280px 1fr 300px !important; }

.nj-tablet .sidebar-left,
.is-tablet .sidebar-left,
.nj-desktop .sidebar-left,
.is-desktop .sidebar-left {
  display: flex !important;
  position: sticky !important;
  top: calc(var(--header-height, 60px) + var(--space-lg, 16px));
  height: fit-content;
  width: auto;
  transform: none;
  border-right: none;
  z-index: auto;
  padding: 0;
  transition: none;
}

.sidebar-right { display: none; }
.nj-desktop .sidebar-right,
.is-desktop .sidebar-right {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.stats-banner {
  display: grid;
  gap: var(--space-sm);
  background: var(--bg-tertiary);
  border-radius: var(--radius-lg);
  padding: var(--space-md);
  border: 1px solid var(--border-light);
}
.stats-banner .stat-item { text-align: center; }
.stats-banner .stat-num {
  font-size: var(--fs-xl);
  font-weight: 700;
  color: var(--theme-primary);
  line-height: 1.2;
}
.stats-banner .stat-lbl { font-size: var(--fs-xs); color: var(--text-muted); }

/* Project-level stats column variants */
.aspira-page .stats-banner,
.shops-page .stats-banner { grid-template-columns: repeat(3, 1fr); }

.livegames-page .stats-banner,
.sapanbun-page .stats-banner { grid-template-columns: repeat(4, 1fr); }

.activity-links { display: flex; flex-direction: column; gap: var(--space-sm); }
.activity-link {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md);
  background: var(--bg-secondary);
  border-radius: var(--radius-md);
  text-decoration: none;
  color: var(--text-primary);
  transition: all var(--transition-fast);
  border: 1px solid transparent;
}
.activity-link:hover {
  background: rgba(var(--theme-primary-rgb), 0.08);
  border-color: var(--theme-primary);
  transform: translateX(4px);
}
.activity-link .al-icon {
  font-size: 1.5rem;
  width: 2.25rem;
  text-align: center;
  flex-shrink: 0;
}
.activity-link .al-info { flex: 1; min-width: 0; }
.activity-link .al-title { font-weight: 600; font-size: var(--fs-sm); }
.activity-link .al-desc { font-size: var(--fs-xs); color: var(--text-muted); margin-top: 2px; }
.activity-link.primary {
  background: var(--gradient-primary);
  color: white;
  border: none;
  box-shadow: 0 4px 12px rgba(var(--theme-primary-rgb), 0.3);
}
.activity-link.primary .al-desc { color: rgba(255, 255, 255, 0.8); }
.activity-link.primary:hover {
  transform: translateX(4px) translateY(-1px);
  box-shadow: 0 6px 16px rgba(var(--theme-primary-rgb), 0.4);
}

.coming-soon {
  font-size: var(--fs-xs);
  background: var(--bg-secondary);
  color: var(--text-muted);
  padding: 1px 6px;
  border-radius: var(--radius-full);
  margin-left: auto;
  font-weight: 500;
}

/* Optional right-sidebar feed cards used by Sapanbun and reusable elsewhere */
.recent-feed { display: flex; flex-direction: column; gap: var(--space-sm); }
.recent-feed-item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm);
  border-radius: var(--radius-md);
  transition: background var(--transition-fast);
}
.recent-feed-item:hover { background: var(--bg-secondary); }
.recent-feed-icon { font-size: 1.3rem; width: 2rem; text-align: center; flex-shrink: 0; }
.recent-feed-info { flex: 1; min-width: 0; }
.recent-feed-name {
  font-weight: 500;
  font-size: var(--fs-sm);
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.recent-feed-meta { font-size: var(--fs-xs); color: var(--text-muted); }
.recent-feed-status { font-size: var(--fs-xs); white-space: nowrap; }

.community-footer {
  background: var(--bg-secondary);
  border-top: 1px solid var(--border-light);
  padding: var(--space-lg) var(--space-md);
  margin-top: var(--space-2xl);
  text-align: center;
  color: var(--text-muted);
}
.community-footer a { color: var(--text-secondary); text-decoration: none; margin: 0 var(--space-sm); }
.community-footer a:hover { color: var(--theme-primary); }
.footer-links { margin-bottom: var(--space-sm); }

@media (max-width: 600px) {
  .feed-layout { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)); }
  .livegames-page .stats-banner { grid-template-columns: repeat(2, 1fr); }
  .sapanbun-page .stats-banner { grid-template-columns: repeat(4, 1fr); }
}
