/* Homepage "coming up" band — added 2026-09-28.
   Loaded on the front page only. Each card carries the accent colour of the
   page it links to, so the homepage previews where you are about to land:
   rust for the Fall Festival, burgundy for Spirit of the Holidays. */

.ek-events {
	--ev-navy: #153871;
	--ev-rust: #B4531B;
	--ev-burgundy: #7B1526;
	--ev-gold: #B8912F;
	--ev-gold-text: #8A6B1F;
	--ev-cream: #FBF7EF;
	--ev-border: #E4DCCB;
	--ev-ink: #2A2320;
	--ev-body: #4A403A;
	--ev-muted: #5A4F49;
	--ev-green: #1E6B43;

	font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--ev-ink);
	padding: 46px 0 50px;
	text-align: left;
}

.ek-events *, .ek-events *::before, .ek-events *::after { box-sizing: border-box; }
.ek-events p { margin: 0; }

/* ---------- heading ---------- */

.ek-events__head { text-align: center; margin-bottom: 30px; }

.ek-events__eyebrow {
	font-size: 12px; font-weight: 700; letter-spacing: 0.18em;
	color: var(--ev-gold-text); text-transform: uppercase;
}

.ek-events .ek-events__title {
	margin: 10px 0 0;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 40px; font-weight: 600; line-height: 1.1;
	color: var(--ev-navy); text-align: center;
}

.ek-events__rule { width: 64px; height: 2px; background: var(--ev-gold); margin: 16px auto 0; }

/* ---------- the two cards ---------- */

.ek-events__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.ek-events .ek-ev {
	display: flex;
	background: #ffffff;
	border: 1px solid var(--ev-border);
	text-decoration: none;
	color: var(--ev-ink);
	overflow: hidden;
	transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.ek-events .ek-ev:hover,
.ek-events .ek-ev:focus {
	box-shadow: 0 6px 22px rgba(33, 26, 20, 0.13);
	transform: translateY(-2px);
	color: var(--ev-ink);
}

.ek-events .ek-ev:focus-visible { outline: 3px solid var(--ev-gold); outline-offset: 2px; }

/* date block, coloured per event */
.ek-ev__date {
	flex-shrink: 0;
	width: 104px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	color: #ffffff;
	padding: 20px 8px;
}

.ek-ev--fall .ek-ev__date { background: var(--ev-rust); }
.ek-ev--spirit .ek-ev__date { background: var(--ev-burgundy); }

.ek-ev__mon {
	display: block;
	font-size: 15px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
}
.ek-ev__day {
	display: block;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 54px; font-weight: 600; line-height: 1;
}
.ek-ev__yr { display: block; font-size: 13px; letter-spacing: 0.1em; opacity: 0.85; }

/* body */
.ek-ev__body {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 22px 24px;
}

.ek-ev__flag {
	display: inline-block;
	padding: 4px 11px;
	background: var(--ev-green);
	color: #ffffff;
	font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
	margin-bottom: 10px;
}

.ek-ev__name {
	display: block;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 31px; font-weight: 600; line-height: 1.1;
}
.ek-ev--fall .ek-ev__name { color: var(--ev-navy); }
.ek-ev--spirit .ek-ev__name { color: var(--ev-burgundy); }

.ek-ev__sub {
	display: block; margin-top: 4px;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-style: italic; font-size: 18px; color: var(--ev-muted);
}

.ek-ev__text {
	display: block; margin-top: 10px;
	font-size: 16px; line-height: 1.5; color: var(--ev-body);
}

.ek-ev__meta {
	display: block; margin-top: auto; padding-top: 12px;
	border-top: 1px solid var(--ev-border);
	font-size: 14px; color: var(--ev-muted);
}

.ek-ev__go {
	display: inline-block; margin-top: 12px;
	font-size: 16px; font-weight: 700;
}
.ek-ev--fall .ek-ev__go { color: var(--ev-rust); }
.ek-ev--spirit .ek-ev__go { color: var(--ev-burgundy); }

.ek-events .ek-ev:hover .ek-ev__go { text-decoration: underline; }

/* ---------- responsive ---------- */

@media (max-width: 860px) {
	.ek-events__grid { grid-template-columns: 1fr; gap: 16px; }
}

@media (max-width: 620px) {
	.ek-events .ek-events__title { font-size: 30px; }
	.ek-events__head { margin-bottom: 22px; }
	.ek-ev__date { width: 78px; padding: 16px 6px; }
	.ek-ev__day { font-size: 40px; }
	.ek-ev__mon { font-size: 13px; }
	.ek-ev__body { padding: 18px 18px; }
	.ek-ev__name { font-size: 25px; }
	.ek-ev__sub { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.ek-events .ek-ev { transition: none; }
	.ek-events .ek-ev:hover, .ek-events .ek-ev:focus { transform: none; }
}

/* The band's row carries class fl-row-bg-color, but the colour itself lives in
   Beaver Builder's cached per-page layout stylesheet, which did not regenerate
   with the tint. Setting it here keeps the band's appearance in one file.
   fl-node-ewh50j86vyxk is the row that holds the band; if that row is ever
   rebuilt the band simply loses its tint rather than breaking. */
.fl-node-ewh50j86vyxk > .fl-row-content-wrap {
	background-color: #FBF7EF;
}
