/* REP Events — minimal structural styles. Override the variables (or classes) in Breakdance. */
:root {
	--rep-primary: #1f4e79;
	--rep-secondary: #333333;
	--rep-accent: #d9a441;
	--rep-border: #e2e2e2;
	--rep-radius: 6px;
	--rep-gap: 20px;
}

.rep-events { display: block; }
.rep-events-empty { opacity: .8; }

/* Category filter */
.rep-events-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--rep-gap); }
.rep-events-filter__item { padding: 6px 14px; border: 1px solid var(--rep-border); border-radius: 999px; text-decoration: none; color: inherit; font-size: .9em; }
.rep-events-filter__item.is-active { background: var(--rep-primary); border-color: var(--rep-primary); color: #fff; }

/* Day grouping */
.rep-events-day { margin-bottom: var(--rep-gap); }
.rep-events-day__heading { margin: 0 0 10px; padding-bottom: 6px; border-bottom: 2px solid var(--rep-border); font-size: 1.05em; }

/* Card */
.rep-event-card { display: flex; gap: 16px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid var(--rep-border); }
.rep-event-card:last-child { border-bottom: 0; }
.rep-event-date { flex: 0 0 56px; text-align: center; padding: 6px 0; border: 1px solid var(--rep-border); border-radius: var(--rep-radius); line-height: 1.1; }
.rep-event-date__month { display: block; font-size: .7em; text-transform: uppercase; letter-spacing: .08em; color: var(--rep-primary); font-weight: 700; }
.rep-event-date__day { display: block; font-size: 1.5em; font-weight: 700; }
.rep-event-image { flex: 0 0 140px; }
.rep-event-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: var(--rep-radius); }
.rep-event-content { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.rep-event-title { margin: 0; font-size: 1.05em; line-height: 1.3; }
.rep-event-title a { color: inherit; text-decoration: none; }
.rep-event-when { font-size: .9em; font-weight: 600; color: var(--rep-primary); }
.rep-event-location, .rep-event-categories, .rep-event-cost { font-size: .85em; opacity: .8; }
.rep-event-card--compact { padding: 10px 0; }
.rep-event-card--compact .rep-event-title { font-size: .95em; }

/* Paging + buttons */
.rep-events-paging { display: flex; justify-content: space-between; gap: 8px; margin-top: var(--rep-gap); }
.rep-event-button { display: inline-block; padding: 10px 18px; background: var(--rep-primary); color: #fff; border: 1px solid var(--rep-primary); border-radius: var(--rep-radius); text-decoration: none; font-weight: 600; line-height: 1.2; }
.rep-event-button:hover { opacity: .9; color: #fff; }
.rep-event-button--secondary { background: transparent; color: var(--rep-primary); }

/* Single */
.rep-event-single { margin-bottom: var(--rep-gap); }
.rep-event-notice { padding: 10px 14px; border: 1px solid var(--rep-accent); border-radius: var(--rep-radius); }
.rep-event-single__image img { max-width: 100%; height: auto; border-radius: var(--rep-radius); }
.rep-event-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin: var(--rep-gap) 0; padding: 16px; border: 1px solid var(--rep-border); border-radius: var(--rep-radius); }
.rep-event-meta__item dt { font-size: .75em; text-transform: uppercase; letter-spacing: .05em; opacity: .7; }
.rep-event-meta__item dd { margin: 2px 0 0; }
.rep-event-links { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: var(--rep-gap); }
.rep-event-source { font-size: .85em; opacity: .8; }

@media (max-width: 600px) {
	.rep-event-image { display: none; }
}
