.cec-event-list-wrap {
	max-width: 100%;
}

.cec-category-icon {
	display: inline;
	font-style: normal;
	line-height: 1;
	margin-right: 0.2em;
	vertical-align: middle;
}

img.cec-category-icon {
	display: inline-block;
	height: 1.1em;
	width: auto;
}

.cec-event-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cec-event-list-date-heading {
	margin: 2em 0 0.75em;
	padding-top: 1.25em;
	border-top: 2px solid #2271b1;
}

.cec-event-list-date-heading:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

.cec-event-list-date-heading h3 {
	margin: 0;
	font-size: 1.15em;
	font-weight: 700;
}

.cec-event-list-item {
	display: flex;
	gap: 1.25em;
	padding: 1.25em 1.5em;
	margin-bottom: 1em;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.06 );
}

.cec-event-list-item:last-child {
	margin-bottom: 0;
}

.cec-event-list-thumb {
	flex-shrink: 0;
	width: 180px;
}

.cec-event-list-thumb a {
	display: block;
}

.cec-event-list-thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 3px;
}

/* Shown instead of a photo when the event has none: a colored block in the
   event's category color, with the category icon centered in it, so every
   row still has a visual anchor. */
.cec-event-list-thumb-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 3px;
	background: color-mix( in srgb, var( --cec-event-color, #2271b1 ) 15%, #fff );
	border: 1px solid color-mix( in srgb, var( --cec-event-color, #2271b1 ) 30%, #fff );
}

.cec-event-list-thumb-icon {
	font-size: 2.5em;
	line-height: 1;
}

img.cec-event-list-thumb-icon {
	width: 48px;
	height: 48px;
}

.cec-event-list-body {
	flex: 1;
	min-width: 0;
}

.cec-event-list-date {
	margin: 0 0 0.2em;
	font-weight: 600;
	font-size: 0.9em;
}

.cec-event-list-title {
	margin: 0 0 0.35em;
	font-size: 1.15em;
	font-weight: 700;
}

.cec-event-list-title a {
	text-decoration: none;
}

.cec-event-list-title a:hover {
	text-decoration: underline;
}

.cec-event-list-location {
	margin: 0 0 0.35em;
	color: #555;
	font-size: 0.9em;
}

.cec-event-list-location::before {
	content: "📍";
	margin-right: 0.3em;
}

.cec-event-list-teaser {
	margin: 0 0 0.5em;
	color: #555;
	font-size: 0.95em;
}

.cec-event-list-read-more {
	display: inline-block;
	padding: 0.35em 1.1em;
	background: #2271b1;
	color: #fff;
	text-decoration: none;
	border-radius: 3px;
	font-size: 0.85em;
	font-weight: 600;
}

.cec-event-list-read-more:hover {
	background: #135e96;
	color: #fff;
	text-decoration: none;
}

.cec-event-list-cats {
	margin: 0.5em 0 0;
}

/* "See More" */

.cec-see-more-wrap {
	text-align: center;
	margin: 1.5em 0 0.5em;
}

.cec-see-more-btn {
	display: inline-block;
	padding: 0.5em 1.75em;
	background: #2271b1;
	color: #fff;
	text-decoration: none;
	border-radius: 3px;
	font-size: 0.95em;
	font-weight: 600;
	cursor: pointer;
}

.cec-see-more-btn:hover {
	background: #135e96;
	color: #fff;
}

.cec-see-more-btn[aria-busy="true"] {
	opacity: 0.65;
	cursor: wait;
}

/* Responsive: stack thumbnail above body below ~500 px */

@media (max-width: 500px) {
	.cec-event-list-item {
		flex-direction: column;
	}

	.cec-event-list-thumb {
		width: 100%;
	}
}
