/* RSCP Events: single event page. Colors per property group; everything below uses these tokens. */
.rscpEvent {
	--e-ink: #1c1b1b;
	--e-ink-soft: #55606b;
	--e-accent: #193E69;
	--e-accent-soft: #EAF1F7;
	--e-line: #DDE4EA;
	--e-link: #193E69;
	--e-link-hover: #4B8299;
	--e-notice-bg: #FDF3E2;
	--e-notice-ink: #6B4708;
	--e-radius: 0;
	--e-head: 'DM Sans', sans-serif;
	--e-weight: 700;
	font-family: 'DM Sans', sans-serif;
	color: var(--e-ink);
	padding: 32px 16px 64px;
}
.rscpEvent--mtc {
	--e-accent: #3A6B80;
	--e-accent-soft: #EAF2F5;
	--e-link: #B85A2E; /* #EB8558 is the site's coral, too light for text on white */
	--e-link-hover: #3A6B80;
}
.rscpEvent--rw {
	--e-ink: #232941;
	--e-ink-soft: #545C7E;
	--e-accent: #3B457B;
	--e-accent-soft: #EDF1FA;
	--e-line: #DFE3F0;
	--e-link: #3B457B;
	--e-link-hover: #C97F4E;
	--e-radius: 14px;
	--e-head: 'Poppins', 'Helvetica Neue', Arial, sans-serif;
}
.rscpEvent *, .rscpEvent *::before, .rscpEvent *::after { box-sizing: border-box; }
.rscpEvent__wrap { max-width: 1120px; margin: 0 auto; }

.rscpEvent a { color: var(--e-link); }
.rscpEvent a:hover, .rscpEvent a:focus { color: var(--e-link-hover); }

.rscpEvent__back { margin: -10px 0 14px; font-size: 15px; }
.rscpEvent__back a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; text-decoration: none; font-weight: 500; }

.rscpEvent__ended {
	margin: 0 0 24px;
	padding: 12px 16px;
	font-size: 15px;
	background: var(--e-notice-bg);
	color: var(--e-notice-ink);
	border-radius: var(--e-radius);
}
.rscpEvent__ended a { color: inherit; text-decoration: underline; }
/* 44px tap area without moving the text */
.rscpEvent__ended a, .rscpEvent__facts a, .rscpEvent__body a[href^="tel:"] { display: inline-block; padding: 11px 0; margin: -11px 0; }

.rscpEvent__main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}
.rscpEvent__main--noimg { grid-template-columns: minmax(0, 760px); justify-content: center; }

/* Flyers carry text: show the whole image, never crop, never stretch small art */
.rscpEvent__media { background: var(--e-accent-soft); border-radius: var(--e-radius); overflow: hidden; line-height: 0; }
.rscpEvent__media img { display: block; width: auto; max-width: 100%; height: auto; max-height: 72vh; margin: 0 auto; }

.rscpEvent .rscpEvent__title {
	margin: 0 0 20px;
	font-family: var(--e-head);
	font-weight: var(--e-weight);
	font-size: clamp(30px, 4vw, 44px);
	line-height: 1.15;
	color: var(--e-ink);
	text-align: left;
	overflow-wrap: anywhere;
}
.rscpEvent--rw .rscpEvent__title { color: var(--e-accent); }

.rscpEvent__facts { list-style: none; margin: 0 0 24px; padding: 20px 0; border-top: 1px solid var(--e-line); border-bottom: 1px solid var(--e-line); }
.rscpEvent__facts li { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 12px; padding: 0; font-size: 17px; line-height: 1.4; }
.rscpEvent__facts li:last-child { margin-bottom: 0; }
.rscpEvent__facts svg { flex: 0 0 20px; margin-top: 2px; color: var(--e-accent); }
.rscpEvent__facts span { font-family: 'DM Sans', sans-serif; }
.rscpEvent__facts small { display: block; margin-top: 2px; font-size: 14px; color: var(--e-ink-soft); }

.rscpEvent__body { font-size: 17px; line-height: 1.6; overflow-wrap: anywhere; }
.rscpEvent__body > :first-child { margin-top: 0; }
.rscpEvent__body > :last-child { margin-bottom: 0; }
.rscpEvent__body p { margin: 0 0 16px; font-size: inherit; line-height: inherit; text-align: left; }
.rscpEvent__body img { max-width: 100%; height: auto; }

.rscpEvent__more { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--e-line); }
.rscpEvent .rscpEvent__more h2 { margin: 0 0 16px; font-family: var(--e-head); font-weight: var(--e-weight); font-size: 24px; line-height: 1.2; color: var(--e-ink); text-align: left; }
.rscpEvent__more ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rscpEvent__more li { margin: 0; padding: 0; }
.rscpEvent__more a { display: block; height: 100%; padding: 16px; text-decoration: none; background: var(--e-accent-soft); color: var(--e-ink); border-radius: var(--e-radius); }
.rscpEvent__more a:hover, .rscpEvent__more a:focus { color: var(--e-ink); box-shadow: inset 0 0 0 2px var(--e-accent); }
.rscpEvent .rscpEvent__more strong { display: block; margin-bottom: 4px; font-size: 17px; line-height: 1.3; font-family: inherit; color: var(--e-ink); } /* theme colors strong coral */
.rscpEvent__more span { font-size: 14px; color: var(--e-ink-soft); font-family: inherit; }

@media (max-width: 860px) {
	.rscpEvent { padding: 20px 16px 48px; }
	/* Phones: what and when come first, then the flyer, then the details */
	.rscpEvent__main, .rscpEvent__main--noimg { display: flex; flex-direction: column; gap: 0; }
	.rscpEvent__info { display: contents; }
	.rscpEvent .rscpEvent__title { order: 1; margin-bottom: 14px; }
	.rscpEvent__facts { order: 2; margin-bottom: 20px; padding: 16px 0; }
	.rscpEvent__media { order: 3; margin-bottom: 20px; }
	.rscpEvent__body { order: 4; }
	.rscpEvent__media img { max-height: 60vh; }
	.rscpEvent__more { margin-top: 40px; padding-top: 24px; }
	.rscpEvent__more ul { grid-template-columns: minmax(0, 1fr); }
}
