/* Capstone RSVP styles (front + admin) */

.cap-rsvp-form, .cap-rsvp-thanks, .cap-events{ background:#fff; border:1px solid #e6e6e6; border-radius:12px; padding:1.25rem; margin:1rem 0; }
.cap-title{ margin-top:0; color:#0f7f3b; }
.cap-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.cap-legend{ font-weight:600; margin-top:1rem; color:#0f7f3b; }
.cap-help{ display:block; font-size:.85rem; color:#666; }

.cap-btn{ display:inline-block; padding:.75rem 1rem; border-radius:999px; border:1px solid #0f7f3b; text-decoration:none; }
.cap-btn:hover{ background:#0f7f3b; color:#fff; }
.cap-link{ text-decoration:none; }

.cap-events h3{ color:#0f7f3b; margin:.25rem 0 .5rem; }
.cap-events-list{ list-style:none; padding:0; margin:0; }
.cap-events-list li{ padding:.5rem .75rem; border-bottom:1px dashed #e6e6e6; }
.cap-pill{ display:inline-block; padding:.15rem .5rem; border:1px solid #999; border-radius:999px; margin-left:.5rem; font-size:.85rem; }
.cap-pill-featured{ border-color:#0f7f3b; font-weight:700; }

.cap-cards{ display:flex; gap:1rem; margin:1rem 0; }
.cap-card{ background:#fff; border:1px solid #e6e6e6; border-radius:12px; padding:1rem; }
.cap-big{ font-size:1.8rem; font-weight:700; }

.cap-admin-grid{ display:grid; grid-template-columns: 1fr 2fr; gap:1rem; }
.cap-table-scroll{ width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.cap-table-scroll table{ min-width:760px; }

/* Mobile */
@media (max-width: 640px){
  .cap-grid{ grid-template-columns:1fr; }
  .cap-btn{ width:100%; min-height:44px; font-size:16px; }
  .cap-rsvp-form, .cap-rsvp-thanks, .cap-events{ padding:1rem; margin:.75rem 0; }
}
