.eec-calendar-wrapper {
	container-type: inline-size;
	container-name: eec-calendar;
	position:relative;
}
#eec-calendar-loading {
    background: rgba(65, 65, 65, 0.3);
    position: absolute;
	z-index:999;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items:flex-start;
    justify-content: center;
}
#eec-calendar {
	width:100%;
	max-width:1300px;
	margin:0 auto;
	position:relative;
}
#eec-calendar,
#eec-calendar-loading {
    min-height: 200px;
}
#eec-calendar-loading img {
    max-width:120px!important;;
	margin:80px auto!important;;
	box-shadow:none!important;
}
div.eec-calendar-legend {
	margin:auto;
	background:#fff;
	font-size:12px;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
}
div.eec-calendar-legend p,
div.eec-calendar-legend ul {
	flex:100%;
	margin:4px auto;
	flex:1 90%;
	padding:5px!important;
}div.eec-calendar-legend p {
	text-align:center;
	font-size:18px;
}
div.eec-calendar-legend ul {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:4px;
	max-width:500px;
}
div.eec-calendar-legend ul li {
	flex:1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	max-width:180px;
	border-bottom:1px solid #b6b6b6;
}
div.eec-calendar-legend ul li span {
	display:inline-block;
}
div.eec-calendar-legend ul li span.legend-label {
	min-width:130px;
}
div.eec-calendar-legend ul li span.legend-color {
	width:35px;
	height:35px;
}
#eec-calendar > #calendar_header {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	text-align: center;
	align-items:center;
	justify-content:center;
	width: 100%;
	background:#e8ecfd;
}
#eec-calendar > #calendar_header > .nav {
	height:100%;
}
#eec-calendar > #calendar_header > .nav > a {
	display:block;
	height:100%;
    transition: transform .2s ease;
}
#eec-calendar > #calendar_header > .nav > a#next_month:active {
    transform: translateX(5px);
}
#eec-calendar > #calendar_header > .nav > a#prev_month:active {
    transform: translateX(-5px);
}
#eec-calendar > #calendar_header > .nav img {
	max-width:35px;
	box-shadow:none!important;
	margin:8px;
}
#eec-calendar > #calendar_header .month_year {
	min-width:180px;
	margin:0;
}
#eec-calendar > #calendar_header .month_year p {
	margin:auto;
	font-size:1.3em;
}
#eec-calendar > #calendar_header > div:not(.month_year) {
	cursor:pointer;
	width:60px;
}
#eec-calendar > #calendar_header .month_year h2 {
	margin:10px auto;
}
#eec-calendar > table {
	background:#fff;
	border:1px solid #000;
	border-bottom:0;
	border-collapse: separate;
	width:100%;
}
#eec-calendar > table > tbody.calendar_body {
	width: 100%;
	margin: 0 auto;
	position: relative;
	border:0!important;
}
#eec-calendar > table > tbody.calendar_body tr {
	margin: 0 auto;
	border: 0;
	border-bottom:1px solid #000;
}
#eec-calendar > table > tbody.calendar_body tr:first-child {
	border: 0;
}
#eec-calendar > table > tbody.calendar_body tr.weekday_names_header {
	display: none;
}
#eec-calendar > table > tbody.calendar_body td {
	background-color:rgb(255,255,255);
	display: flex;
	align-items:center;
	position: relative;
	border: 0;
	border-bottom: 1px solid #000;
	padding:0;
}
#eec-calendar > table > tbody.calendar_body td > .day_label {
	width:60px!important;
	padding:5px!important;
	color:#000;
}
#eec-calendar > table > tbody.calendar_body td > .day_label > .day_num,
#eec-calendar > table > tbody.calendar_body td > .day_label > .day_name {
	text-align: center;
	font-weight:bold;
	font-size:.85em;
}
#eec-calendar > table > tbody.calendar_body td.today {
	background:#d9d9d9;
}
#eec-calendar > table > tbody.calendar_body td > .events_container {
	margin:0!important;
	padding:0!important;
	width:100%;
	min-height:60px;
	border-left:1px solid #000;
}
#eec-calendar > table > tbody.calendar_body td > .events_container h1,
#eec-calendar > table > tbody.calendar_body td > .events_container h2,
#eec-calendar > table > tbody.calendar_body td > .events_container h3,
#eec-calendar > table > tbody.calendar_body td > .events_container p {
	margin:0!important;
}
#eec-calendar > table > tbody.calendar_body td > .events_container > .event {
	position:relative;
	z-index:1;
	padding:5px 0!important;
}
#eec-calendar > table > tbody.calendar_body td > .events_container > .event a {
    text-decoration: none;
	color:inherit;
}
#eec-calendar > table > tbody.calendar_body td > .events_container > .event a:hover {
    text-decoration: underline;
}
/* Base style */
#eec-calendar .events_container .event > .color_label {
	position:absolute;
	z-index:-1;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	border-bottom:1px solid #a6a6a6;
	background:#f2f2f2;
}

/* If this is the LAST event in the container → remove border */
#eec-calendar .events_container .event:last-of-type > .color_label {
	border-bottom:0;
}

/* If the container has ONLY ONE .event → keep border (override previous) */
#eec-calendar .events_container:has(> .event:only-child) .event > .color_label {
	border-bottom:1px solid #a6a6a6 !important;
}

#eec-calendar > table > tbody.calendar_body td > .events_container > .event > .event_title {
	display: flex;
    flex-wrap: wrap;
    align-items: center;
}
#eec-calendar > table > tbody.calendar_body td > .events_container > .event > .event_title > div {
	display:inline-block;
	width:100%;
	height:100%;
	text-align:center;
	font-size:14px;
	padding:0!important;
}
#eec-calendar > table > tbody.calendar_body td > .events_container > .event > .event_title > div > a {
	display:inline-block;
	width:98%;
	height:100%;
}
#eec-calendar > table > tbody.calendar_body td.show_blank {
	display: none;
}
.eec-single-event {
	text-align: center;
	max-width: 800px;
	margin: 40px auto;
	padding: 20px;
}

.eec-single-event h1 {
	margin-bottom: 10px;
}

.eec-single-event p {
	margin: 6px 0;
}

.eec-event-content {
	margin-top: 20px;
	text-align: left; /* keeps body content readable */
}

@container eec-calendar (min-width: 900px) {
	div.eec-calendar-legend {
		font-size:.75em;
	}
	#eec-calendar {
		width:95%;
	}
	#eec-calendar,
	#eec-calendar-loading {
		min-height: 400px;
	}
	#eec-calendar-loading {
		margin:auto;
		width:95%;
		left:0;
		right:0;
		align-items:center;
	}
	#eec-calendar-loading img {
		max-width:150px!important;
		margin:60px auto!important;
	}
	div.eec-calendar-legend ul {
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		justify-content:flex-start;
		column-gap:30px;
		margin-bottom:15px;
		max-width:650px;
	}
	div.eec-calendar-legend ul li {
		flex:100%;
	}
	#eec-calendar > #calendar_header .month_year {
		padding:10px;
		min-width:300px;
	}
	#eec-calendar > table {
		border:0;
	}
	#eec-calendar > table th,
	#eec-calendar > table tr:nth-of-type(2n) td {
		border-right: 1px solid #000;
	}
	#eec-calendar > table > tbody.calendar_body {
		display: table;
		position: relative;
		border-collapse: collapse;
	}
	#eec-calendar > table > tbody.calendar_body th { 
		display: table-cell;
		text-align:center;
	}
	#eec-calendar > table > tbody.calendar_body tbody {
		display: table;
	}
	#eec-calendar > table > tbody.calendar_body tr { 
		display: table-row;
	}
	#eec-calendar > table > tbody.calendar_body tr.weekday_names_header {
		display: table-row;
		text-align:center;
		border: 1px solid #000;
		color:#fff;
		text-shadow:1px 1px 1px #000;
	}
	#eec-calendar > table > tbody.calendar_body tr.weekday_names_header > th {
		padding:10px;
		border-right: 1px solid #000;
		background:#a8a7b3;
	}
	#eec-calendar > table > tbody.calendar_body tr.weekday_names_header > th:last-child {
		border-right: 1px solid #000;
	}
	#eec-calendar > table > tbody.calendar_body > tr > td {
		display: table-cell;
		vertical-align:top;
		border: 1px solid #000;
		height:120px;
		width:170px;
		padding:0!important;
	}
	#eec-calendar > table > tbody.calendar_body td.show_blank {
		display: table-cell;
		visibility: hidden;
	}
	#eec-calendar > table > tbody.calendar_body td > .day_label {
		margin:0!important;
		padding:0!important;
		background-color: transparent!important;
		width:auto!important;
		color:#000;
		text-shadow:none;
	}
	#eec-calendar > table > tbody.calendar_body td > .day_label > .day_num {
		font-size:1.2em;
	}
	#eec-calendar > table > tbody.calendar_body td > .day_label > .day_name {
		display:none;
	}
	#eec-calendar > table > tbody.calendar_body tr:last-child {
		border-bottom: 0!important;
	}
	#eec-calendar > table > tbody.calendar_body td > .events_container {
		border-left:0;
	}
	#eec-calendar > table > tbody.calendar_body td > .day_label {
		border-right:0;
	}
	body.single-easy_event .event-details .event-meta {
		max-width:900px;
		font-size:22px;
		justify-content:flex-start;
	}
	body.single-easy_event .event-details .event-meta > div {
		margin:8px;
		flex:300px;
		text-align:center;
	}
	body.single-easy_event .event-content {
		margin:5px auto;
		width:90%;
		max-width:900px;
	}
}
@container eec-calendar (min-width: 900px) {
	body.single-easy_event .event-details .event-meta > div {
		margin:4px;
		text-align:left;
	}
	body.single-easy_event .event-details > .event-featured-image {
		text-align:center;
	}
	body.single-easy_event .event-details > .event-featured-image img {
		width:auto;
		max-width:400px;
		margin:10px;
	}
	body.single-easy_event .event-content {
		max-width:980px;
	}
}
@container eec-calendar (min-width: 900px) {
	div.eec-calendar-legend ul {
		max-width:850px;
		justify-content: space-between;
	}
	body.single-easy_event .event-details .event-meta > div {
		margin:4px;
		text-align:left;
	}
	body.single-easy_event .event-details > .event-featured-image img {
		max-width:500px;
	}
}