/* CLSC Events — inherits the theme font; nothing smaller than 11px. */
.clsc-events {
	/* Navy = the live site's sidebar link color (#23527c); white on it is 8.2:1. */
	--clsc-ev-accent: #23527c;
	--clsc-ev-text: inherit;
	--clsc-ev-muted: #596170;
	--clsc-ev-line: #e3e8ee;
	font-family: inherit;
	line-height: 1.4;
	margin: 0;
}
.clsc-events *,
.clsc-events *::before,
.clsc-events *::after {
	box-sizing: border-box;
}
.clsc-events ul.clsc-events__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.clsc-events ul.clsc-events__list > li.clsc-events__item {
	margin: 0;
	padding: 0;
	line-height: 1.4;
	border-bottom: 1px solid var(--clsc-ev-line);
}
.clsc-events ul.clsc-events__list > li.clsc-events__item:last-child {
	border-bottom: 0;
}
.clsc-events__details {
	margin: 0;
}
.clsc-events__summary {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 2px;
	cursor: pointer;
	list-style: none;
	border-radius: 6px;
}
.clsc-events__summary::-webkit-details-marker {
	display: none;
}
.clsc-events__summary::marker {
	content: "";
}
.clsc-events__summary:hover .clsc-events__title {
	color: var(--clsc-ev-accent);
}
.clsc-events__summary:focus {
	outline: none;
}
.clsc-events__summary:focus-visible {
	outline: 2px solid var(--clsc-ev-accent);
	outline-offset: 2px;
}
.clsc-events__badge {
	flex: 0 0 46px;
	width: 46px;
	text-align: center;
	border-radius: 6px;
	background: #fff;
	border: 1px solid #cdd6e1;
	overflow: hidden;
	line-height: 1;
}
.clsc-events__month {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #fff;
	background: var(--clsc-ev-accent);
	padding: 4px 0 3px;
}
.clsc-events__day {
	display: block;
	font-size: 20px;
	font-weight: 700;
	color: #24303e;
	padding: 5px 0 6px;
}
.clsc-events__main {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.clsc-events__title {
	font-size: 15px;
	font-weight: 500;
	color: #2b3340;
	overflow-wrap: anywhere;
	transition: color .15s ease;
}
.clsc-events__when {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 6px;
	row-gap: 2px;
	font-size: 13px;
	color: var(--clsc-ev-muted);
}
.clsc-events__rel {
	display: inline-block;
	white-space: nowrap;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .02em;
	border-radius: 9px;
	padding: 0 7px;
	color: #3d4654;
	background: #eceff3;
}
.clsc-events__rel--now {
	color: #fff;
	background: #2e7d32; /* white on this green: 5.1:1 */
}
.clsc-events__rel--today,
.clsc-events__rel--tomorrow {
	color: #fff;
	background: var(--clsc-ev-accent);
}
.clsc-events__cal {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--clsc-ev-muted);
}
.clsc-events__dot {
	flex: 0 0 9px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	display: inline-block;
}
.clsc-events__chev {
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	margin-top: 4px;
	position: relative;
	opacity: .55;
}
.clsc-events__chev::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 3px;
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform .15s ease;
}
.clsc-events__details[open] .clsc-events__chev::before {
	transform: translateY(3px) rotate(-135deg);
}
.clsc-events__more-info {
	margin: 0 0 12px 56px;
	font-size: 13px;
	color: #3c4858;
	overflow-wrap: anywhere;
}
.clsc-events__more-info p {
	margin: 0 0 6px;
	font-size: 13px;
	line-height: 1.5;
}
.clsc-events__label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--clsc-ev-muted);
}
.clsc-events__desc {
	margin: 0 0 6px;
	line-height: 1.5;
}
.clsc-events .clsc-events__desc ul,
.clsc-events .clsc-events__desc ol {
	margin: 4px 0 6px 18px;
	padding: 0;
	list-style: disc;
}
.clsc-events .clsc-events__desc ul li,
.clsc-events .clsc-events__desc ol li {
	line-height: 1.5;
	padding: 0;
	list-style: inherit;
}
.clsc-events__links a,
.clsc-events__loc a,
.clsc-events__desc a {
	font-weight: 500;
}
.clsc-events__more {
	margin: 10px 0 0;
	font-size: 14px;
}
.clsc-events__more a {
	font-weight: 500;
}
.clsc-events__empty {
	margin: 4px 0;
	font-size: 14px;
	color: var(--clsc-ev-muted);
}
.clsc-events__heading {
	margin-bottom: 10px;
}
.clsc-events__add {
	margin: 2px 0 4px;
}
.clsc-events__add .clsc-events__label {
	margin-bottom: 4px;
}
.clsc-events__add-links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.clsc-events .clsc-events__add-links a.clsc-events__add-link {
	display: inline-block;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
	padding: 4px 10px;
	border: 1px solid #c5d0dc;
	border-radius: 14px;
	background: #fff;
	color: var(--clsc-ev-accent);
	text-decoration: none;
	white-space: nowrap;
}
.clsc-events .clsc-events__add-links a.clsc-events__add-link:hover,
.clsc-events .clsc-events__add-links a.clsc-events__add-link:focus {
	border-color: var(--clsc-ev-accent);
	background: #eef3f8;
	color: var(--clsc-ev-accent);
}
.clsc-events__note {
	margin: 8px 0 0;
	font-size: 13px;
	font-style: italic;
	color: var(--clsc-ev-muted);
}

/* ---------- Style A: Card ---------- */
.clsc-events-block.clsc-events-style-card {
	background: #f5f7fa;
	border: 1px solid #dce3eb;
	border-radius: 10px;
	padding: 12px 12px 8px;
}
.widget.clsc-events-block.clsc-events-style-card > h5,
.clsc-events-block.clsc-events-style-card > .clsc-events__heading {
	margin-top: 0;
	margin-bottom: 10px;
}
.clsc-events-block.clsc-events-style-card .clsc-events-widget-body.textwidget,
.clsc-events-block.clsc-events-style-card > .clsc-events-body {
	border-top: 1px solid #d3dbe4;
	padding-top: 4px;
}
.clsc-events-block.clsc-events-style-card .clsc-events__summary:hover {
	background: rgba(255, 255, 255, .6);
}

/* ---------- Style B: Header band (framed card, navy band + waterline) ----------
   1.0.2: the "D" look that used to live in the site's Additional CSS, now scoped to the
   style class so it works for every widget instance and the [clsc_events style="band"] shortcode.
   Two to four class selectors outrank Hestia's widget rules and the site's ".textwidget" rule without !important. */
.clsc-events-block.clsc-events-style-band {
	background: #fff;
	border: 1px solid #d9e1ea;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(20, 45, 75, .06), 0 3px 10px rgba(20, 45, 75, .06);
	overflow: hidden;
}
.widget.clsc-events-block.clsc-events-style-band > h5,
.clsc-events-block.clsc-events-style-band > .clsc-events__heading {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	margin: 0;
	padding: 11px 14px;
	background: linear-gradient(180deg, #2b6293 0%, #23527c 100%);
	border-bottom: 3px solid #6797e2; /* footer blue "waterline" */
	border-radius: 0;
	color: #fff;
	letter-spacing: .01em;
}
.clsc-events-block.clsc-events-style-band .clsc-events__icon {
	flex: 0 0 18px;
	color: #fff;
}
.clsc-events-block.clsc-events-style-band .clsc-events-widget-body.textwidget,
.clsc-events-block.clsc-events-style-band > .clsc-events-body {
	border-top: 0;
	padding: 0;
}
.clsc-events-block.clsc-events-style-band .clsc-events__summary {
	padding: 11px 10px;
	border-radius: 0;
	transition: background-color .15s ease;
}
.clsc-events-block.clsc-events-style-band .clsc-events__summary:hover {
	background: #f0f5fb;
}
.clsc-events-block.clsc-events-style-band .clsc-events__details[open] {
	background: #f6f9fc;
}
.clsc-events-block.clsc-events-style-band .clsc-events__more-info {
	margin: 0 10px 0 66px;
	padding-bottom: 12px;
}
.clsc-events-block.clsc-events-style-band .clsc-events__title {
	font-weight: 600;
	color: #22303f;
}
.clsc-events-block.clsc-events-style-band .clsc-events__rel--soon {
	background: #dce8f5;
	color: #1d4467;
}
.clsc-events-block.clsc-events-style-band .clsc-events__note {
	margin: 0;
	padding: 8px 10px 10px;
	border-top: 1px solid #e3e8ee;
}
.clsc-events-block.clsc-events-style-band .clsc-events__more {
	margin: 0;
	border-top: 1px solid #e3e8ee;
}
.clsc-events-block.clsc-events-style-band .clsc-events__more a {
	display: block;
	padding: 10px;
	background: #f3f7fb;
	font-weight: 600;
	color: #23527c;
	text-align: center;
	text-decoration: none;
}
.clsc-events-block.clsc-events-style-band .clsc-events__more a:hover,
.clsc-events-block.clsc-events-style-band .clsc-events__more a:focus {
	background: #e4edf7;
}
@media (max-width: 400px) {
	.clsc-events-block.clsc-events-style-band .clsc-events__more-info {
		margin-left: 62px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.clsc-events-block.clsc-events-style-band .clsc-events__summary {
		transition: none;
	}
}

@media (max-width: 400px) {
	.clsc-events__badge {
		flex-basis: 42px;
		width: 42px;
	}
	.clsc-events__more-info {
		margin-left: 52px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.clsc-events__chev::before,
	.clsc-events__title {
		transition: none;
	}
}
.clsc-events .clsc-events__desc ol {
	list-style: decimal;
}
