/* RMD All Events – page styles. Builds on the RMD Stall Booking styles and the split hero (split.css). */

/* Filter buttons */
.rsb-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.rsb-ui .rsb-tabs button { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border-radius: 99px; border: 1px solid transparent; background: transparent; color: var(--rsb-ink-2); font: 700 calc(14px * var(--rsb-fs, 1)) var(--rsb-font); cursor: pointer; transition: all .2s; }
.rsb-tabs button i { font-style: normal; min-width: 22px; padding: 2px 7px; border-radius: 99px; background: var(--rsb-soft); color: var(--rsb-muted); font-size: calc(12px * var(--rsb-fs, 1)); }
.rsb-ui .rsb-tabs button:hover { background: var(--rsb-p-50); color: var(--rsb-p); }
.rsb-ui .rsb-tabs button.is-on { background: var(--rsb-p); border-color: var(--rsb-p); color: #fff; }
.rsb-tabs button.is-on i { background: rgba(255, 255, 255, .22); color: #fff; }
.rsb-dot { width: 8px; height: 8px; border-radius: 50%; }
.rsb-dot.is-open { background: #16a34a; } .rsb-dot.is-upcoming { background: #7c3aed; } .rsb-dot.is-ended { background: #a6a2b1; }
.rsb-tabs button.is-on .rsb-dot { background: #fff; }

/* Filter bar in the hero */
.rsb-all-filter { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; border-radius: 22px; background: #fff; border: 1px solid var(--rsb-line); margin-top: 4px; }
.rsb-all-filter > span { display: inline-flex; align-items: center; gap: 6px; padding-left: 6px; font-size: calc(12px * var(--rsb-fs, 1)); font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--rsb-muted); }
.rsb-all-filter > span svg { color: var(--rsb-p); }

/* Next open event */
.rsb-all-next { display: inline-flex; align-items: center; gap: 14px; margin-top: 16px; padding: 10px 14px 10px 10px; border-radius: 20px; background: var(--rsb-p-50, #fdf0f6); text-decoration: none; color: var(--rsb-ink); text-align: left; transition: transform .3s var(--rsb-ease), background .3s; }
.rsb-all-next:hover { transform: translateY(-2px); color: var(--rsb-ink); }
.rsb-all-next small { display: block; font-size: calc(12px * var(--rsb-fs, 1)); font-weight: 600; color: var(--rsb-muted); }
.rsb-all-next b { display: block; font: 800 calc(16px * var(--rsb-fs, 1))/1.25 var(--rsb-display); letter-spacing: -.01em; }
.rsb-all-next > i { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--rsb-p); font-style: normal; transition: background .25s, color .25s; }
.rsb-all-next:hover > i { background: var(--rsb-p); color: #fff; }
.rsb-all-hero .rsb-hero-text { margin-bottom: 22px !important; }
.rsb-all-hero .rsb-split-foot { margin-top: 28px; }

/* Grid */
.rsb-all-grid { transition: opacity .18s; }
.rsb-all-grid.is-switching { opacity: 0; }
.rsb-card.is-paged { display: none; }
.rsb-all-none[hidden], .rsb-all-more[hidden] { display: none; }
.rsb-all-more { margin-top: 40px; text-align: center; }

@media (max-width: 767px) {
	.rsb-all-filter { padding: 10px; }
	.rsb-ui .rsb-tabs button { padding: 9px 13px; font-size: calc(13px * var(--rsb-fs, 1)); }
	.rsb-all-next { display: flex; }
}
