/* LU Events — matches bb-theme tokens: Lato, #252624 text, #75a543 accent. */
.lu-ev {
	--lu-ev-text: #252624;
	--lu-ev-muted: #5f615c;
	--lu-ev-line: #e3e6df;
	--lu-ev-accent: #75a543;
	--lu-ev-accent-dark: #5b8633;
	--lu-ev-disc: #0072b5;
	--lu-ev-5b: #c8102e;
	--lu-ev-lu: #75a543;
	--lu-ev-bg-soft: #f6f8f3;
	color: var(--lu-ev-text);
}

.lu-ev__section { margin: 0 0 56px; }
.lu-ev__heading { margin: 0 0 20px; }
.lu-ev__certs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 24px; }
.lu-ev__list { display: grid; gap: 16px; }
.lu-ev__empty { color: var(--lu-ev-muted); }

.lu-ev-card {
	--brand: var(--lu-ev-lu);
	display: flex;
	gap: 20px;
	padding: 24px;
	background: #fff;
	border: 1px solid var(--lu-ev-line);
	border-left: 4px solid var(--brand);
	border-radius: 6px;
	transition: box-shadow .15s ease, transform .15s ease;
}
.lu-ev-card:hover { box-shadow: 0 6px 20px rgba(37, 38, 36, .08); }
.lu-ev-card--everything-disc { --brand: var(--lu-ev-disc); }
.lu-ev-card--five-behaviors { --brand: var(--lu-ev-5b); }
.lu-ev-card--cert { background: var(--lu-ev-bg-soft); }

.lu-ev-card__date {
	flex: 0 0 64px;
	align-self: flex-start;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 8px 0;
	border-radius: 6px;
	background: var(--brand);
	color: #fff;
	text-decoration: none;
	line-height: 1;
}
.lu-ev-card__date:hover, .lu-ev-card__date:focus { color: #fff; }
.lu-ev-card__month { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lu-ev-card__day { font-size: 28px; font-weight: 700; margin-top: 4px; }

.lu-ev-card__body { min-width: 0; }
.lu-ev-card__brand { margin: 0 0 4px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--brand); }
.lu-ev-card__title { margin: 0 0 6px; font-size: 22px; line-height: 1.3; }
.lu-ev-card__title a { color: var(--lu-ev-text); text-decoration: none; }
.lu-ev-card__title a:hover { color: var(--brand); }
.lu-ev-card__when { margin: 0 0 10px; font-size: 16px; font-weight: 700; }
.lu-ev-card__more { font-weight: 400; color: var(--lu-ev-muted); }
.lu-ev-card__excerpt { margin: 0 0 12px; font-size: 16px; color: var(--lu-ev-muted); }
.lu-ev-card__cta { font-weight: 700; color: var(--lu-ev-accent-dark); text-decoration: none; }
.lu-ev-card__cta:hover { text-decoration: underline; }

@media (max-width: 600px) {
	.lu-ev-card { padding: 18px 16px; gap: 14px; }
	.lu-ev-card__date { flex-basis: 52px; }
	.lu-ev-card__day { font-size: 22px; }
	.lu-ev-card__title { font-size: 19px; }
}

/* Single event RSVP box */
.lu-ev-rsvp {
	margin: 40px 0 0;
	padding: 28px;
	background: #f6f8f3;
	border-top: 4px solid #75a543;
	border-radius: 6px;
	color: #252624;
}
.lu-ev-rsvp__eyebrow { margin: 0 0 4px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #5b8633; }
.lu-ev-rsvp__when { margin: 0 0 20px; font-size: 22px; font-weight: 700; line-height: 1.35; }
.lu-ev-rsvp__when span { font-size: 17px; font-weight: 400; color: #5f615c; }
.lu-ev-rsvp__title { margin: 0 0 8px; font-size: 20px; }
.lu-ev-rsvp .gform_wrapper { margin: 0; }
.lu-ev-confirm { padding: 4px 0; font-size: 17px; }
@media (max-width: 600px) { .lu-ev-rsvp { padding: 20px 16px; } }
.lu-ev-rsvp__note { margin: 0 0 16px; color: #5f615c; }

/* Featured image links to #rsvp: scroll smoothly and clear the sticky header. */
html:has(.lu-ev-rsvp) { scroll-behavior: smooth; }
.lu-ev-rsvp { scroll-margin-top: 140px; }
@media (prefers-reduced-motion: reduce) { html:has(.lu-ev-rsvp) { scroll-behavior: auto; } }

/* Thank-you pages */
.lu-ev-thanks { max-width: 680px; font-size: 18px; color: #252624; }
.lu-ev-thanks__lead { margin: 0 0 12px; font-size: 20px; }
.lu-ev-thanks__event { margin: 0 0 20px; padding: 16px 20px; background: #f6f8f3; border-left: 4px solid #75a543; border-radius: 4px; line-height: 1.5; }
