/* RNR Groups — main site. Deliberately light; final look belongs to the theme.
   Override freely in GeneratePress/Elementor custom CSS. */

/* filters */
.rnr-filters { display: flex; flex-wrap: wrap; gap: .6em; margin-bottom: 1em; }
.rnr-filters input, .rnr-filters select { padding: .55em .8em; border: 1px solid #ccc; border-radius: 5px; }
.rnr-filters #rnr-f-search { flex: 1; min-width: 180px; }

/* map */
.rnr-map { width: 100%; height: 380px; border-radius: 8px; margin-bottom: 1em; background: #eef1f3; }
.rnr-map:empty::after { content: ""; }

/* cards */
.rnr-results { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.2em; }
.rnr-card { border: 1px solid #e4e4e4; border-radius: 8px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.rnr-card-img { width: 100%; height: 160px; object-fit: cover; display: block; }
.rnr-card-body { padding: 1em; display: flex; flex-direction: column; gap: .35em; flex: 1; }
.rnr-card-body h3 { margin: 0; font-size: 1.05em; }
.rnr-card-loc { color: #555; font-size: .88em; margin: 0; }
.rnr-card-dates { font-weight: 600; font-size: .88em; margin: 0; }
.rnr-dist { background: #eef6ee; color: #226b2e; border-radius: 3px; padding: .05em .45em; font-size: .85em; margin-left: .35em; }
.rnr-count { color: #666; font-size: .9em; }
.rnr-btn { display: inline-block; margin-top: auto; padding: .45em 1em; border-radius: 5px; border: 1px solid currentColor; text-decoration: none; font-size: .9em; align-self: start; cursor: pointer; background: none; }
.rnr-btn-clear { opacity: .7; }

/* session cards */
.rnr-sessions { display: flex; flex-wrap: wrap; gap: .7em; margin: 1em 0; }
.rnr-session { display: flex; flex-direction: column; align-items: center; gap: .1em; border: 1px solid #ddd; border-radius: 8px; padding: .7em .9em; min-width: 92px; background: #fff; }
.rnr-session-dow { font-size: .75em; text-transform: uppercase; letter-spacing: .05em; color: #777; }
.rnr-session-day { font-size: 1.6em; font-weight: 700; line-height: 1.1; }
.rnr-session-month { font-size: .78em; color: #777; }
.rnr-session-time { font-size: .8em; margin-top: .3em; font-weight: 600; }
.rnr-session-note { font-size: .72em; color: #888; text-align: center; }
.rnr-session.rnr-past { opacity: .45; filter: grayscale(1); }
.rnr-session.rnr-session-next { border-color: #2e7d32; box-shadow: 0 0 0 2px rgba(46, 125, 50, .18); }
.rnr-schedule-note { color: #555; font-style: italic; }

/* misc */
.rnr-group-location { margin: .6em 0; }
.rnr-virtual-badge { display: inline-block; background: #eef3fb; color: #23508e; padding: .25em .7em; border-radius: 4px; font-size: .9em; }
