.mls-events-calendar {
	background: linear-gradient(140deg, #fffaf2, #f2fbfa);
	padding: clamp(36px, 6vw, 72px) 0;
}

.mls-events-calendar__month {
	color: #536a75;
	font: 700 1.05rem/1.4 Arial, sans-serif;
	margin: 0;
}

.mls-events-calendar__month-view {
	background: #fff;
	border: 1px solid #dbe9e7;
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(24, 57, 67, .07);
	overflow: hidden;
}

.mls-events-calendar__month-view table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}

.mls-events-calendar__month-view th {
	background: #183943;
	color: #fff;
	font: 700 .78rem/1.2 Arial, sans-serif;
	padding: 12px 6px;
	text-align: center;
}

.mls-events-calendar__weekday-short {
	display: none;
}

.mls-events-calendar__month-view td {
	border: 1px solid #e6eeec;
	height: 96px;
	padding: 8px;
	vertical-align: top;
}

.mls-events-calendar__month-view td.is-outside-month {
	background: #fafcfb;
}

.mls-events-calendar__month-view td.is-today {
	background: #fff3ec;
}

.mls-events-calendar__month-view td > time {
	align-items: center;
	color: #183943;
	display: inline-flex;
	font-weight: 700;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.mls-events-calendar__month-view td.is-today > time {
	background: #e97978;
	border-radius: 50%;
	color: #fff;
}

.mls-events-calendar__month-view td ul {
	list-style: none;
	margin: 4px 0 0;
	padding: 0;
}

.mls-events-calendar__month-view td li {
	margin: 2px 0;
}

.mls-events-calendar__month-view td li a {
	background: #e6f5f2;
	border-radius: 5px;
	color: #183943;
	display: block;
	font-size: .68rem;
	line-height: 1.25;
	overflow: hidden;
	padding: 4px 5px;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mls-events-calendar__month-view td li a:hover,
.mls-events-calendar__month-view td li a:focus-visible {
	background: #cbece9;
	text-decoration: underline;
}

.mls-events-calendar__upcoming {
	margin-top: clamp(26px, 4vw, 42px);
}

.mls-events-calendar__upcoming > h3 {
	color: #183943;
	font: 700 clamp(1.3rem, 2.5vw, 1.8rem)/1.2 Georgia, serif;
	margin: 0 0 16px;
}

.mls-event-list {
	display: grid;
	gap: 14px;
}

.mls-event-card {
	align-items: flex-start;
	background: #fff;
	border: 1px solid #e7e3da;
	border-radius: 14px;
	display: grid;
	gap: 16px;
	grid-template-columns: 76px minmax(0, 1fr);
	padding: clamp(14px, 3vw, 22px);
	scroll-margin-top: 100px;
}

.mls-event-card__date {
	background: #e5f4f1;
	border-radius: 12px;
	color: #183943;
	padding: 10px 6px;
	text-align: center;
}

.mls-event-card__date time {
	display: grid;
	gap: 2px;
}

.mls-event-card__date strong {
	font: 700 1.7rem/1 Georgia, serif;
}

.mls-event-card__date span {
	font: 700 .75rem/1.2 Arial, sans-serif;
}

.mls-event-card__content h4 {
	color: #183943;
	font: 700 1.2rem/1.3 Georgia, serif;
	margin: 0;
}

.mls-event-card__meta {
	color: #66777a;
	font-size: .88rem;
	margin: 6px 0 10px;
}

.mls-event-card__description {
	color: #435b62;
	line-height: 1.55;
}

.mls-event-card__description > :first-child {
	margin-top: 0;
}

.mls-event-card__description > :last-child {
	margin-bottom: 0;
}

.mls-event-card .mls-button {
	margin-top: 12px;
}

.mls-events-calendar__empty {
	background: rgba(255, 255, 255, .78);
	border: 1px dashed #9bbfc0;
	border-radius: 12px;
	color: #536a75;
	padding: 18px;
}

/* Keep the seven calendar columns aligned and use the full phone width. */
.mls-events-calendar__month-view {
max-width: 100%;
width: 100%;
}

.mls-events-calendar__month-view > table {
display: table;
max-width: 100% !important;
min-width: 0;
table-layout: fixed;
width: 100% !important;
}

.mls-events-calendar__month-view th,
.mls-events-calendar__month-view td {
box-sizing: border-box;
min-width: 0;
}

@media (max-width: 680px) {
	.mls-events-calendar__weekday-full {
		display: none;
	}

	.mls-events-calendar__weekday-short {
		display: inline;
	}

	.mls-events-calendar__month-view td {
		height: 65px;
		padding: 4px;
	}

.mls-events-calendar__month-view th {
font-size: .7rem;
padding: 9px 2px;
}

	.mls-events-calendar__month-view td > time {
		height: 24px;
		width: 24px;
	}

	.mls-events-calendar__month-view td li a {
		height: 6px;
		margin: 4px auto 0;
		overflow: hidden;
		padding: 0;
		text-indent: -999px;
		width: 6px;
	}

	.mls-event-card {
		grid-template-columns: 58px minmax(0, 1fr);
	}

	.mls-event-card__date strong {
		font-size: 1.4rem;
	}
}
