/* Basic styles */
.gym-events-wrapper { margin: 1rem 0; }
.gym-events-toolbar { display:flex; gap:.5rem; margin-bottom: .75rem; flex-wrap: wrap; }
.ge-btn { border:1px solid #cccccc; padding:.5rem .75rem; border-radius:.5rem; cursor:pointer; background:#fff; }
.ge-btn:hover { filter: brightness(0.97); }
.ge-list .ge-item { background:#f9f9f9; border-left:5px solid var(--accent,#2271b1); padding:12px; margin-bottom:12px; border-radius:8px; }
.ge-item h4 { margin:.25rem 0 .25rem; }
.ge-when { font-size:.9rem; opacity:.8; }
.ge-tags { font-size:.9rem; }
.ge-rsvp { display:flex; align-items:center; gap:.5rem; margin-top:.5rem; }
.ge-rsvp .ge-btn { border-color:#ddd; }
.ge-login-note { margin:.5rem 0; }
.ge-rsvp-note { font-size:.85rem; opacity:.8; }

/* calendar */
.ge-calendar { background:#f9f9f9; border-radius:8px; padding:8px; }
.ge-cal-head { font-weight:600; margin:.25rem 0 .5rem; }
.ge-cal-grid { display:grid; grid-template-columns: repeat(7, 1fr); gap:4px; }
.ge-cal-cell { background:#fff; border:1px solid #eee; min-height:80px; border-radius:6px; padding:4px; }
.ge-cal-h { background:#fafafa; font-weight:600; text-align:center; }
.ge-cal-day { font-size:.85rem; opacity:.7; }
.ge-cal-events { list-style:none; margin:4px 0 0; padding:0; }
.ge-cal-events li { border-left:4px solid var(--accent,#2271b1); padding-left:6px; margin:2px 0; font-size:.85rem; }
