/* Community page styles (minimal, leveraging base.css utilities) */
.section { padding-block: var(--space-12); }
.section-hero { padding-block: var(--space-14); }
.hero-grid { align-items: center; }
.hero-figure, .events-figure, .members-figure { margin-top: var(--space-7); }
.hero-figure img, .events-figure img, .members-figure img { border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }

.grid-responsive { grid-template-columns: 1fr; }
@media (min-width: 768px) {
  .grid-responsive { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hero-grid { grid-template-columns: 1.1fr 0.9fr; }
}

.guidelines, .resources-list { list-style: disc inside; display: grid; gap: var(--space-3); }
.topics-list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-4); }
.topic-item { border: 1px solid var(--gray-200); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-xs); }
.topic-toggle { width: 100%; text-align: left; background: transparent; border: 0; padding: var(--space-5) var(--space-6); display: flex; justify-content: space-between; align-items: center; font-weight: 700; }
.topic-toggle:focus-visible { outline: var(--ring-width) solid var(--color-focus); outline-offset: 2px; }
.topic-meta { color: var(--gray-600); font-weight: 600; }
.topic-body { padding: 0 var(--space-6) var(--space-6); }

.topic-form .form-field { margin-bottom: var(--space-5); }

/* Feedback states */
.rsvp-success { background: var(--color-primary-100); border-color: var(--color-primary); }
