.iiec-calendar {
	overflow: hidden;
	width: 100%;
	color: #1a2e4a;
	background: #fff;
	border: 1px solid #dce7ee;
	border-radius: 24px;
	box-shadow: 0 12px 34px rgba(26, 46, 74, 0.11);
}

.iiec-calendar-header {
	display: grid;
	grid-template-columns: minmax(90px, 1fr) auto minmax(90px, 1fr);
	align-items: center;
	gap: 20px;
	padding: 24px 28px;
	background: linear-gradient(135deg, #eafaff, #f7fdff);
	border-bottom: 1px solid #dce7ee;
}

.iiec-calendar-heading {
	text-align: center;
}

.iiec-calendar-eyebrow {
	display: block;
	margin-bottom: 4px;
	color: #5272be;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.iiec-calendar-heading h2 {
	margin: 0;
	color: #1a2e4a;
	font-size: clamp(27px, 4vw, 38px);
	line-height: 1.1;
}

.iiec-calendar-navigation {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: fit-content;
	min-height: 42px;
	padding: 8px 13px;
	color: #1a2e4a;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	background: #fff;
	border: 1px solid #d5e3eb;
	border-radius: 999px;
	transition:
		transform 160ms ease,
		border-color 160ms ease;
}

.iiec-calendar-navigation:last-child {
	justify-self: end;
}

.iiec-calendar-navigation:hover,
.iiec-calendar-navigation:focus {
	color: #1a2e4a;
	border-color: #4dcfe8;
	transform: translateY(-1px);
}

.iiec-calendar-weekdays {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	background: #1a2e4a;
}

.iiec-calendar-weekday {
	padding: 11px 8px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.055em;
}

.iiec-calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 1px;
	background: #dfe7ed;
}

.iiec-calendar-day {
	min-width: 0;
	min-height: 150px;
	padding: 10px;
	background: #fff;
}

.iiec-calendar-day-outside {
	background: #f6f8fa;
}

.iiec-calendar-day-outside .iiec-calendar-date,
.iiec-calendar-day-outside .iiec-calendar-events {
	opacity: 0.48;
}

.iiec-calendar-day-today {
	box-shadow: inset 0 0 0 2px #4dcfe8;
}

.iiec-calendar-date {
	display: flex;
	align-items: center;
	gap: 7px;
	width: 100%;
	min-height: 28px;
	margin: 0 0 8px;
	padding: 0;
	color: inherit;
	font: inherit;
	text-align: left;
	background: transparent;
	border: 0;
}

.iiec-calendar-day-trigger {
	cursor: pointer;
	border-radius: 8px;
}

.iiec-calendar-day-trigger:hover,
.iiec-calendar-day-trigger:focus {
	background: #edfaff;
	outline-offset: 2px;
}

.iiec-calendar-date-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	color: #536274;
	font-size: 13px;
	font-weight: 700;
	border-radius: 50%;
}

.iiec-calendar-day-today .iiec-calendar-date-number {
	color: #1a2e4a;
	background: #bdeff7;
}

.iiec-calendar-event-count {
	color: #5272be;
	font-size: 10px;
	font-weight: 700;
}

.iiec-calendar-mobile-weekday {
	display: none;
}

.iiec-calendar-events {
	display: grid;
	gap: 7px;
}

.iiec-calendar-event {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	min-width: 0;
	padding: 8px;
	color: #1a2e4a;
	text-decoration: none;
	background: #edfaff;
	border: 1px solid #ccecf3;
	border-radius: 10px;
	transition:
		transform 150ms ease,
		border-color 150ms ease,
		background 150ms ease;
}

.iiec-calendar-event:hover,
.iiec-calendar-event:focus {
	color: #1a2e4a;
	background: #e3f8fd;
	border-color: #4dcfe8;
	transform: translateY(-1px);
}

.iiec-calendar-event-featured {
	background: #fff8de;
	border-color: #f1d778;
}

.iiec-calendar-event-featured:hover,
.iiec-calendar-event-featured:focus {
	background: #fff4c7;
	border-color: #e5bd32;
}

.iiec-calendar-event-icon {
	width: 25px;
	height: 25px;
	flex: 0 0 25px;
	object-fit: cover;
	border-radius: 7px;
}

.iiec-calendar-event-dot {
	width: 8px;
	height: 8px;
	flex: 0 0 8px;
	margin-top: 5px;
	background: #4dcfe8;
	border-radius: 50%;
}

.iiec-calendar-event-featured .iiec-calendar-event-dot {
	background: #e0a715;
}

.iiec-calendar-event-copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.iiec-calendar-event-time {
	margin-bottom: 2px;
	color: #5272be;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.035em;
}

.iiec-calendar-event-title {
	overflow: hidden;
	color: #1a2e4a;
	font-size: 12px;
	line-height: 1.25;
	text-overflow: ellipsis;
}

.iiec-calendar-event-session {
	overflow: hidden;
	margin-top: 2px;
	color: #66758a;
	font-size: 10px;
	line-height: 1.25;
	text-overflow: ellipsis;
}

/* Day popup */

.iiec-day-modal[hidden] {
	display: none !important;
}

.iiec-day-modal {
	position: fixed;
	z-index: 999999;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.iiec-day-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(16, 30, 49, 0.7);
	backdrop-filter: blur(4px);
}

.iiec-day-modal-dialog {
	position: relative;
	z-index: 1;
	overflow: hidden;
	width: min(620px, 100%);
	max-height: min(760px, calc(100vh - 48px));
	background: #f7fafc;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 22px;
	box-shadow: 0 24px 70px rgba(9, 20, 35, 0.35);
}

.iiec-day-modal-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding: 24px;
	background: linear-gradient(135deg, #e7faff, #fff);
	border-bottom: 1px solid #dce7ee;
}

.iiec-day-modal-eyebrow {
	display: block;
	margin-bottom: 4px;
	color: #5272be;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.iiec-day-modal-title {
	margin: 0;
	color: #1a2e4a;
	font-size: 27px;
	line-height: 1.15;
}

.iiec-day-modal-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	padding: 0;
	color: #1a2e4a;
	cursor: pointer;
	background: #fff;
	border: 1px solid #d5e3eb;
	border-radius: 50%;
}

.iiec-day-modal-close:hover,
.iiec-day-modal-close:focus {
	border-color: #4dcfe8;
}

.iiec-day-modal-close .dashicons {
	width: 24px;
	height: 24px;
	font-size: 24px;
}

.iiec-day-modal-events {
	display: grid;
	gap: 14px;
	overflow-y: auto;
	max-height: calc(100vh - 190px);
	padding: 20px;
}

.iiec-day-modal-event {
	display: grid;
	grid-template-columns: 70px minmax(0, 1fr);
	gap: 16px;
	padding: 17px;
	background: #fff;
	border: 1px solid #dce7ee;
	border-radius: 16px;
	box-shadow: 0 5px 16px rgba(26, 46, 74, 0.07);
}

.iiec-day-modal-event-featured {
	background: #fffdf4;
	border-color: #efd77c;
}

.iiec-day-modal-event-media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	overflow: hidden;
	color: #4dcfe8;
	background: #eafaff;
	border-radius: 15px;
}

.iiec-day-modal-event-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.iiec-day-modal-event-media .dashicons {
	width: 34px;
	height: 34px;
	font-size: 34px;
}

.iiec-day-modal-event-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}

.iiec-day-modal-event-topline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
}

.iiec-day-modal-event-time {
	color: #5272be;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.iiec-day-modal-featured {
	padding: 4px 8px;
	color: #6d5318;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	background: #fff2bd;
	border-radius: 999px;
}

.iiec-day-modal-event-title {
	margin: 0;
	color: #1a2e4a;
	font-size: 20px;
	line-height: 1.2;
}

.iiec-day-modal-event-session {
	margin-top: 3px;
	color: #66758a;
	font-size: 13px;
}

.iiec-day-modal-event-location {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 10px;
	color: #526174;
	font-size: 13px;
}

.iiec-day-modal-event-location .dashicons {
	width: 16px;
	height: 16px;
	color: #4dcfe8;
	font-size: 16px;
}

.iiec-day-modal-event-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 13px;
	padding: 8px 14px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	background: #1a2e4a;
	border-radius: 999px;
}

.iiec-day-modal-event-link:hover,
.iiec-day-modal-event-link:focus {
	color: #fff;
	background: #29496f;
}

body.iiec-calendar-modal-open {
	overflow: hidden;
}

@media screen and (max-width: 980px) {
	.iiec-calendar-day {
		min-height: 130px;
		padding: 7px;
	}

	.iiec-calendar-event {
		padding: 6px;
	}

	.iiec-calendar-event-icon {
		display: none;
	}

	.iiec-calendar-event-title {
		font-size: 11px;
	}
}

@media screen and (max-width: 700px) {
	.iiec-calendar {
		overflow: visible;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.iiec-calendar-header {
		grid-template-columns: auto 1fr auto;
		padding: 18px 12px;
		border: 1px solid #dce7ee;
		border-radius: 18px;
	}

	.iiec-calendar-navigation {
		min-width: 42px;
		padding: 8px;
	}

	.iiec-calendar-navigation-label {
		display: none;
	}

	.iiec-calendar-weekdays {
		display: none;
	}

	.iiec-calendar-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
		margin-top: 14px;
		background: transparent;
	}

	.iiec-calendar-day {
		display: none;
		min-height: 0;
		padding: 13px;
		background: #fff;
		border: 1px solid #dce7ee;
		border-radius: 15px;
	}

	.iiec-calendar-day-has-events,
	.iiec-calendar-day-today {
		display: block;
	}

	.iiec-calendar-day-outside:not(
		.iiec-calendar-day-has-events
	) {
		display: none;
	}

	.iiec-calendar-day-outside {
		background: #f7f9fb;
	}

	.iiec-calendar-day-today {
		box-shadow: inset 0 0 0 2px #4dcfe8;
	}

	.iiec-calendar-date {
		margin-bottom: 10px;
	}

	.iiec-calendar-mobile-weekday {
		display: inline;
		color: #5272be;
		font-size: 12px;
		font-weight: 700;
		text-transform: uppercase;
	}

	.iiec-calendar-date-number {
		width: auto;
		height: auto;
		flex-basis: auto;
		font-size: 17px;
	}

	.iiec-calendar-day-today .iiec-calendar-date-number {
		padding: 3px 8px;
	}

	.iiec-calendar-event {
		align-items: center;
		padding: 11px;
	}

	.iiec-calendar-event-icon {
		display: block;
		width: 34px;
		height: 34px;
		flex-basis: 34px;
	}

	.iiec-calendar-event-time {
		font-size: 11px;
	}

	.iiec-calendar-event-title {
		font-size: 14px;
	}

	.iiec-calendar-event-session {
		font-size: 12px;
	}

	.iiec-day-modal {
		align-items: flex-end;
		padding: 12px;
	}

	.iiec-day-modal-dialog {
		max-height: calc(100vh - 24px);
		border-radius: 22px 22px 16px 16px;
	}

	.iiec-day-modal-header {
		padding: 20px;
	}

	.iiec-day-modal-title {
		font-size: 22px;
	}

	.iiec-day-modal-events {
		padding: 14px;
	}

	.iiec-day-modal-event {
		grid-template-columns: 54px minmax(0, 1fr);
		gap: 12px;
		padding: 14px;
	}

	.iiec-day-modal-event-media {
		width: 54px;
		height: 54px;
		border-radius: 12px;
	}

	.iiec-day-modal-event-title {
		font-size: 18px;
	}
}
/* --------------------------------------------------------------------------
   Theme Overrides
-------------------------------------------------------------------------- */

.iiec-calendar .iiec-calendar-day-trigger {
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 7px;
	width: 100%;
	min-height: 28px;
	margin: 0 0 8px;
	padding: 0;
	color: inherit !important;
	font: inherit;
	text-align: left;
	text-transform: none;
	letter-spacing: normal;
	text-decoration: none;
	cursor: pointer;
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 8px;
	box-shadow: none !important;
	outline: none;
}

.iiec-calendar .iiec-calendar-day-trigger:hover,
.iiec-calendar .iiec-calendar-day-trigger:focus,
.iiec-calendar .iiec-calendar-day-trigger:active {
	color: inherit !important;
	background: #edfaff !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
	transform: none !important;
	text-decoration: none;
}

.iiec-calendar .iiec-calendar-event,
.iiec-calendar .iiec-calendar-event:hover,
.iiec-calendar .iiec-calendar-event:focus,
.iiec-calendar .iiec-calendar-event:active,
.iiec-calendar .iiec-calendar-event * {
	text-decoration: none !important;
}

.iiec-calendar .iiec-calendar-event-title,
.iiec-calendar .iiec-calendar-event-time,
.iiec-calendar .iiec-calendar-event-session {
	text-decoration: none !important;
}


/* ==========================================================================
   Imagine Island illustrated calendar — V2 refactored visual shell
   ========================================================================== */

.iiec-calendar-v2 {
	overflow: visible;
	width: min(1180px, 100%);
	margin: -100px auto 0;
	color: #3a210f;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.iiec-calendar-v2-hero {
	position: relative;
	z-index: 40;
	width: min(900px, 82%);
	margin: 0 auto clamp(-34px, -2.8vw, -16px);
	pointer-events: none;
}

.iiec-calendar-v2-hero-image {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 14px 12px rgba(53, 29, 10, 0.3));
	user-select: none;
}

.iiec-calendar-v2-shell {
	position: relative;
	isolation: isolate;
	width: 100%;
	aspect-ratio: 3 / 2;
	margin: 0 auto;
}

/* BlueJay character peeking from behind the calendar frame.
 * Adjust top, left, and width to fine-tune the pose.
 */
.iiec-calendar-v2-bluejay {
	position: absolute;
	z-index: 0;
	top: 35%;
	left: -15%;
	display: block;
	width: 27%;
	max-width: none;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 10px 9px rgba(44, 25, 10, 0.24));
	pointer-events: none;
	user-select: none;
}

.iiec-calendar-v2-frame {
	position: absolute;
	z-index: 1;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: fill;
	pointer-events: none;
	user-select: none;
}

/*
 * Plaque and title are siblings under the shell, so they share the same
 * coordinate system and remain centered together.
 */
.iiec-calendar-v2-month-plaque {
	position: absolute;
	z-index: 20;
	top: -13.5%;
	left: 50%;
	display: block;
	width: 39%;
	max-width: none;
	height: auto;
	transform: translateX(-50%);
	object-fit: contain;
	filter: drop-shadow(0 7px 6px rgba(63, 35, 13, 0.24));
	pointer-events: none;
	user-select: none;
}

.iiec-calendar-v2-shell > .iiec-calendar-heading {
	position: absolute;
	z-index: 30;
	top: 0.9%;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 25%;
	height: 7%;
	transform: translateX(-50%);
	text-align: center;
	pointer-events: none;
}

.iiec-calendar-v2-shell > .iiec-calendar-heading .iiec-calendar-eyebrow {
	display: none;
}

.iiec-calendar-v2-shell > .iiec-calendar-heading h2 {
	margin: 0;
	padding: 0 2%;
	color: #4b2d17;
	font-family: "Lilita One", "Fredoka", "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;
	font-size: clamp(20px, 2.8vw, 42px);
	font-weight: 400;
	line-height: 0.95;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	text-shadow:
		0 2px 0 rgba(255, 248, 221, 0.48),
		0 4px 0 rgba(112, 63, 24, 0.13),
		0 6px 10px rgba(73, 38, 13, 0.18);
	white-space: nowrap;
	user-select: none;
}

/* Month controls are now independent shell children. */
.iiec-calendar-v2-shell > .iiec-calendar-navigation {
	position: absolute;
	z-index: 31;
	top: 9.8%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(44px, 5.2vw, 70px);
	height: clamp(44px, 5.2vw, 70px);
	min-height: 0;
	padding: 0;
	color: #fff;
	background: linear-gradient(#4f87da, #174c9f);
	border: clamp(4px, 0.43vw, 7px) solid #ead7a6;
	border-radius: 50%;
	box-shadow:
		0 3px 0 #805125,
		0 8px 13px rgba(65, 36, 14, 0.3),
		inset 0 2px 2px rgba(255, 255, 255, 0.5);
	text-decoration: none;
	transition:
		transform 160ms ease,
		filter 160ms ease,
		border-color 160ms ease;
}

.iiec-calendar-v2-shell > .iiec-calendar-navigation-previous {
	left: 8.4%;
}

.iiec-calendar-v2-shell > .iiec-calendar-navigation-next {
	right: 8.2%;
}

.iiec-calendar-v2-shell > .iiec-calendar-navigation .iiec-calendar-navigation-label {
	display: none;
}

.iiec-calendar-v2-shell > .iiec-calendar-navigation .dashicons {
	width: auto;
	height: auto;
	font-size: clamp(23px, 3vw, 40px);
	line-height: 1;
	filter: drop-shadow(0 2px 0 rgba(31, 55, 97, 0.75));
}

.iiec-calendar-v2-shell > .iiec-calendar-navigation:hover,
.iiec-calendar-v2-shell > .iiec-calendar-navigation:focus {
	color: #fff;
	border-color: #fff0bd;
	filter: brightness(1.07);
	transform: translateY(-2px) scale(1.04);
}

/* Parchment content opening inside the frame. */
.iiec-calendar-v2-content {
	position: absolute;
	z-index: 5;
	top: 10.2%;
	right: 7%;
	bottom: 13%;
	left: 7.2%;
	display: grid;
	grid-template-rows: 18% minmax(0, 1fr);
	min-width: 0;
	min-height: 0;
	overflow: visible;
}

.iiec-calendar-v2 .iiec-calendar-weekdays {
	position: relative;
	z-index: 8;
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	align-items: end;
	min-width: 0;
	background: transparent;
}

.iiec-calendar-v2 .iiec-calendar-weekday {
	padding: 0 4px 8%;
	color: #3f230f;
	font-family: "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;
	font-size: clamp(10px, 1.45vw, 18px);
	font-weight: 900;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.45);
}

.iiec-calendar-v2 .iiec-calendar-grid {
	position: relative;
	z-index: 8;
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	grid-template-rows: repeat(6, minmax(0, 1fr));
	gap: 0;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	background: rgba(255, 247, 218, 0.05);
	border-top: 1px solid rgba(151, 103, 47, 0.34);
	border-left: 1px solid rgba(151, 103, 47, 0.34);
	border-radius: 4px;
}

.iiec-calendar-v2 .iiec-calendar-day {
	position: relative;
	min-width: 0;
	min-height: 0;
	padding: clamp(5px, 0.72vw, 10px);
	overflow: hidden;
	background: rgba(255, 248, 224, 0.08);
	border-right: 1px solid rgba(151, 103, 47, 0.34);
	border-bottom: 1px solid rgba(151, 103, 47, 0.34);
}

.iiec-calendar-v2 .iiec-calendar-day-outside {
	background: rgba(107, 74, 39, 0.035);
}

.iiec-calendar-v2 .iiec-calendar-day-outside .iiec-calendar-date,
.iiec-calendar-v2 .iiec-calendar-day-outside .iiec-calendar-events {
	opacity: 0.48;
}

.iiec-calendar-v2 .iiec-calendar-day-today {
	box-shadow: inset 0 0 0 clamp(2px, 0.26vw, 4px) #1778cb;
}

.iiec-calendar-v2 .iiec-calendar-date,
.iiec-calendar-v2 .iiec-calendar-day-trigger {
	display: flex;
	align-items: center;
	gap: 5px;
	width: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	color: #3a210f !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 7px;
	box-shadow: none !important;
}

.iiec-calendar-v2 .iiec-calendar-date-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(22px, 2.45vw, 34px);
	height: clamp(22px, 2.45vw, 34px);
	flex: 0 0 auto;
	color: #3a210f;
	font-family: "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;
	font-size: clamp(12px, 1.65vw, 21px);
	font-weight: 900;
	line-height: 1;
}

.iiec-calendar-v2 .iiec-calendar-day-outside .iiec-calendar-date-number {
	color: rgba(74, 50, 27, 0.42);
}

.iiec-calendar-v2 .iiec-calendar-day-today .iiec-calendar-date-number {
	color: #fff;
	background: #1d67be;
	border-radius: 50%;
	box-shadow: 0 2px 0 rgba(47, 41, 31, 0.2);
}

.iiec-calendar-v2 .iiec-calendar-event-count {
	color: #1c5fae;
	font-size: clamp(8px, 0.9vw, 12px);
	font-weight: 900;
}

.iiec-calendar-v2 .iiec-calendar-day-trigger:hover,
.iiec-calendar-v2 .iiec-calendar-day-trigger:focus {
	background: rgba(90, 183, 232, 0.13) !important;
	outline: 2px solid rgba(20, 112, 190, 0.65);
	outline-offset: 2px;
}

.iiec-calendar-v2 .iiec-calendar-events {
	display: grid;
	gap: clamp(4px, 0.48vw, 7px);
	margin-top: 3px;
}

.iiec-calendar-v2 .iiec-calendar-event {
	gap: 6px;
	padding: clamp(5px, 0.55vw, 8px);
	background: rgba(232, 248, 251, 0.92);
	border-color: rgba(100, 185, 202, 0.5);
	border-radius: 9px;
}

.iiec-calendar-v2 .iiec-calendar-event-featured {
	background: rgba(255, 246, 205, 0.94);
	border-color: rgba(213, 171, 52, 0.52);
}

.iiec-calendar-v2 .iiec-calendar-event-icon {
	width: clamp(20px, 2vw, 27px);
	height: clamp(20px, 2vw, 27px);
	flex-basis: clamp(20px, 2vw, 27px);
}

.iiec-calendar-v2 .iiec-calendar-event-time {
	font-size: clamp(8px, 0.8vw, 10px);
}

.iiec-calendar-v2 .iiec-calendar-event-title {
	font-size: clamp(9px, 1vw, 12px);
}

.iiec-calendar-v2 .iiec-calendar-event-session {
	font-size: clamp(8px, 0.82vw, 10px);
}

@media screen and (max-width: 980px) {
	.iiec-calendar-v2 {
		width: min(100%, 920px);
		margin-top: -100px;
	}

	.iiec-calendar-v2-hero {
		width: 88%;
		margin-bottom: -18px;
	}

	.iiec-calendar-v2-month-plaque {
		top: -12.5%;
		width: 42%;
	}

	.iiec-calendar-v2-shell > .iiec-calendar-heading {
		top: 1.05%;
		width: 30%;
	}

	.iiec-calendar-v2-shell > .iiec-calendar-navigation {
		top: 10%;
	}

	.iiec-calendar-v2-content {
		top: 10.4%;
		right: 7.1%;
		bottom: 13.2%;
		left: 7.3%;
	}

	.iiec-calendar-v2 .iiec-calendar-day {
		padding: 5px;
	}

	.iiec-calendar-v2 .iiec-calendar-event-icon {
		display: none;
	}
}

/* The scroll wrapper is layout-neutral on desktop and tablet. */
.iiec-calendar-v2-scroll-viewport {
	display: contents;
}


/* ==========================================================================\n   Mobile full-calendar viewport\n   ========================================================================== */

@media screen and (max-width: 700px) and (min-width: 561px) {
	.iiec-calendar-v2 {
		width: min(100%, 680px);
		margin-top: -100px;
		padding-inline: 10px;
	}

	.iiec-calendar-v2-hero {
		width: 72%;
		margin-bottom: -12px;
	}

	.iiec-calendar-v2-month-plaque {
		top: -11.8%;
		width: 45%;
	}

	.iiec-calendar-v2-shell > .iiec-calendar-heading {
		top: 1.15%;
		width: 33%;
	}

	.iiec-calendar-v2-shell > .iiec-calendar-heading h2 {
		font-size: clamp(18px, 4vw, 30px);
	}

	.iiec-calendar-v2-shell > .iiec-calendar-navigation {
		top: 10.1%;
		width: 48px;
		height: 48px;
		border-width: 4px;
	}

	.iiec-calendar-v2-content {
		top: 10.5%;
		right: 7.2%;
		bottom: 13.3%;
		left: 7.4%;
	}
}

@media screen and (max-width: 700px) {
	.iiec-calendar-v2-bluejay {
		top: 16%;
		left: -8%;
		width: 25%;
	}
}

@media screen and (max-width: 560px) {

	.iiec-calendar-v2 {
		width: 100%;
		margin-top: -100px;
		padding-inline: 6px;
	}

	.iiec-calendar-v2-hero {
		display: none;
	}

	.iiec-calendar-v2-bluejay {
		/* Raise Bluejay so his head clearly peeks over the mobile frame. */
		top: -44px;
		left: -9%;
		width: 42%;
	}

	/*
	 * Mobile keeps the real illustrated frame. The shell becomes a tall
	 * viewport while the frame artwork stretches behind the functional grid.
	 */
	.iiec-calendar-v2-shell {
		position: relative;
		display: block;
		width: 100%;
		padding-top: 54px;

		/*
		 * MOBILE FRAME EXTENSION:
		 * Increase this value to move the bottom of the wooden frame farther down.
		 * 320px is 120px taller than the previous 200px setting.
		 */
		padding-bottom: 220px;
		aspect-ratio: auto;
	}

	.iiec-calendar-v2-frame {
	position: absolute;
	z-index: 1;
	top: 50px;
	right: 0;
	bottom: auto;
	left: 0;
	display: block;
	width: 100%;
	height: 705px !important;
	max-height: none !important;
	content: url("../ui/calendar-frame-mobile-tall.png");
	object-fit: fill;
	filter: drop-shadow(0 8px 7px rgba(67, 37, 15, 0.24));
	}

	/* Plaque now overlaps the top rail instead of floating above the board. */
	.iiec-calendar-v2-month-plaque {
		position: absolute;
		z-index: 20;
		top: -30px;
		left: 50%;
		display: block;
		width: min(68%, 340px);
		margin: 0;
		transform: translateX(-50%);
		filter: drop-shadow(0 5px 5px rgba(63, 35, 13, 0.22));
	}

	.iiec-calendar-v2-shell > .iiec-calendar-heading {
		position: absolute;
		z-index: 21;
		top: 30px;
		left: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 48%;
		height: 34px;
		transform: translateX(-50%);
	}

	.iiec-calendar-v2-shell > .iiec-calendar-heading h2 {
		font-size: clamp(18px, 5.6vw, 27px);
		line-height: 0.95;
		letter-spacing: 0.015em;
	}

	/* Buttons sit directly on the top wooden rail. */
	.iiec-calendar-v2-shell > .iiec-calendar-navigation {
		position: absolute;
		z-index: 22;
		top: 25px;
		width: 40px;
		height: 40px;
		min-width: 40px;
		border-width: 3px;
		box-shadow:
			0 2px 0 #805125,
			0 4px 7px rgba(65, 36, 14, 0.24),
			inset 0 2px 2px rgba(255, 255, 255, 0.42);
	}

	.iiec-calendar-v2-shell > .iiec-calendar-navigation-previous {
		left: 6.5%;
	}

	.iiec-calendar-v2-shell > .iiec-calendar-navigation-next {
		right: 6.5%;
	}

	.iiec-calendar-v2-shell > .iiec-calendar-navigation .dashicons {
		font-size: 23px;
	}

	/*
	 * The dynamic calendar sits over the artwork's parchment opening.
	 * Opaque surfaces hide the mock calendar that is baked into the art.
	 */
	.iiec-calendar-v2-content {
		position: relative;
		z-index: 5;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		display: block;
		width: auto;
		margin: 35px 5.8% 0;
		padding: 0;
		overflow: hidden;
		background: #f7e4b0;
		border: 0;
		border-radius: 7px;
		box-shadow: none;
	}

	.iiec-calendar-v2-scroll-viewport {
		display: block;
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		padding: 0;
		scroll-behavior: smooth;
		scroll-snap-type: x proximity;
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		outline: none;
	}

	.iiec-calendar-v2-scroll-viewport::-webkit-scrollbar {
		display: none;
	}

	.iiec-calendar-v2-scroll-viewport:focus-visible {
		box-shadow: inset 0 0 0 3px rgba(23, 120, 203, 0.45);
	}

	.iiec-calendar-v2 .iiec-calendar-weekdays,
	.iiec-calendar-v2 .iiec-calendar-grid {
		width: 720px;
		min-width: 720px;
	}

	.iiec-calendar-v2 .iiec-calendar-weekdays {
		display: grid;
		grid-template-columns: repeat(7, minmax(0, 1fr));
		align-items: center;
		height: 38px;
		background: #1d5da8;
		border: 0;
		border-radius: 0;
	}

	.iiec-calendar-v2 .iiec-calendar-weekday {
		padding: 0 4px;
		color: #fff;
		font-size: 11px;
		text-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);
	}

	.iiec-calendar-v2 .iiec-calendar-grid {
		display: grid;
		grid-template-columns: repeat(7, minmax(0, 1fr));
		grid-template-rows: repeat(6, 88px);
		gap: 0;
		margin: 0;
		overflow: hidden;
		background: #f7e4b0;
		border-top: 0;
		border-left: 1px solid rgba(151, 103, 47, 0.34);
		border-radius: 0;
	}

	.iiec-calendar-v2 .iiec-calendar-day {
		display: block;
		min-width: 0;
		min-height: 88px;
		padding: 8px;
		overflow: hidden;
		background: #fff3cf;
		border-right: 1px solid rgba(151, 103, 47, 0.34);
		border-bottom: 1px solid rgba(151, 103, 47, 0.34);
		border-radius: 0;
		box-shadow: none;
		scroll-snap-align: start;
	}

	.iiec-calendar-v2 .iiec-calendar-day-outside {
		display: block;
		background: #ead39c;
	}

	.iiec-calendar-v2 .iiec-calendar-day-today {
		box-shadow: inset 0 0 0 3px #1778cb;
	}

	.iiec-calendar-v2 .iiec-calendar-date,
	.iiec-calendar-v2 .iiec-calendar-day-trigger {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 4px;
		min-height: 0;
		margin: 0;
	}

	.iiec-calendar-v2 .iiec-calendar-mobile-weekday {
		display: none;
	}

	.iiec-calendar-v2 .iiec-calendar-date-number {
		width: 28px;
		height: 28px;
		flex-basis: 28px;
		font-size: 14px;
	}

	.iiec-calendar-v2 .iiec-calendar-day-today .iiec-calendar-date-number {
		min-width: 28px;
		min-height: 28px;
		padding: 0;
	}

	.iiec-day-modal {
		align-items: flex-end;
		padding: 10px;
	}

	.iiec-day-modal-dialog {
		max-height: calc(100vh - 20px);
		border-radius: 20px 20px 14px 14px;
	}
}

@media screen and (max-width: 380px) {
	.iiec-calendar-v2 {
		padding-inline: 6px;
	}

	.iiec-calendar-v2-shell {
		grid-template-columns: 38px minmax(0, 1fr) 38px;
		column-gap: 4px;
	}

	.iiec-calendar-v2-shell > .iiec-calendar-navigation {
		width: 34px;
		height: 34px;
		min-width: 34px;
	}

	.iiec-calendar-v2 .iiec-calendar-weekdays,
	.iiec-calendar-v2 .iiec-calendar-grid {
		width: 680px;
		min-width: 680px;
	}
}


/* ==========================================================================
   Featured event carousel inside the hanging sign
   ========================================================================== */

.iiec-featured-carousel {
	pointer-events: auto;
	aspect-ratio: 3 / 2;
}

.iiec-featured-carousel-viewport {
	position: absolute;
	z-index: 2;
	top: 37.4%;
	right: 6.1%;
	bottom: 23.5%;
	left: 6.15%;
	overflow: hidden;
	background: #159dcc;
	border-radius: clamp(8px, 1.1vw, 18px);
	box-shadow: inset 0 0 0 2px rgba(69, 36, 10, 0.28);
}

.iiec-featured-carousel-slides,
.iiec-featured-carousel-slide,
.iiec-featured-carousel-slide picture {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.iiec-featured-carousel-slide {
	z-index: 1;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 420ms ease, visibility 420ms ease;
}

.iiec-featured-carousel-slide.is-active {
	z-index: 2;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.iiec-featured-carousel-banner {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	user-select: none;
}

/*
 * Reposition only the default Upcoming Events banner.
 * The first carousel slide is always the default slide.
 */
.iiec-featured-carousel-slide:first-child
.iiec-featured-carousel-banner {
	transform: translateY(-7%);
	transform-origin: center;
}

.iiec-calendar-v2-hero-image {
	position: relative;
	z-index: 3;
	pointer-events: none;
}

.iiec-featured-carousel-arrow {
	-webkit-appearance: none;
	appearance: none;
	position: absolute;
	z-index: 5;
	top: 56.8%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(38px, 4.4vw, 56px);
	height: clamp(38px, 4.4vw, 56px);
	padding: 0;
	color: #fff;
	cursor: pointer;
	background: linear-gradient(#5da0e9, #1d58ad);
	border: clamp(3px, 0.35vw, 5px) solid #f4dfaa;
	border-radius: 50%;
	box-shadow:
		0 3px 0 #7a4b20,
		0 7px 12px rgba(58, 31, 10, 0.28),
		inset 0 2px 2px rgba(255, 255, 255, 0.45);
	transform: translateY(-50%);
	transition: transform 160ms ease, filter 160ms ease;
}

.iiec-featured-carousel-arrow:hover,
.iiec-featured-carousel-arrow:focus-visible {
	filter: brightness(1.08);
	transform: translateY(-50%) scale(1.06);
}

.iiec-featured-carousel-arrow-previous {
	left: 1.3%;
}

.iiec-featured-carousel-arrow-next {
	right: 1.3%;
}

.iiec-featured-carousel-arrow .dashicons {
	width: auto;
	height: auto;
	font-size: clamp(21px, 2.6vw, 34px);
	line-height: 1;
	filter: drop-shadow(0 2px 0 rgba(24, 47, 88, 0.7));
}

@media (prefers-reduced-motion: reduce) {
	.iiec-featured-carousel-slide {
		transition: none;
	}
}

@media screen and (max-width: 700px) {
	.iiec-calendar-v2-hero {
		width: min(96%, 680px);
	}
}

@media screen and (max-width: 560px) {
	.iiec-calendar-v2-hero {
		display: block;
		width: calc(100% - 8px);
		margin: 0 auto -8px;
	}

	.iiec-featured-carousel-viewport {
		top: 37.4%;
		right: 6.1%;
		bottom: 23.5%;
		left: 6.15%;
		border-radius: 8px;
	}

	.iiec-featured-carousel-arrow {
		width: 34px;
		height: 34px;
		border-width: 3px;
	}

	.iiec-featured-carousel-arrow-previous {
		left: 0.7%;
	}

	.iiec-featured-carousel-arrow-next {
		right: 0.7%;
	}

	.iiec-featured-carousel-arrow .dashicons {
		font-size: 20px;
	}
}

/* ========================================================================== 
   Illustrated event badges inside calendar days
   ========================================================================== */

.iiec-calendar-v2 {
	--iiec-day-event-slot-size-desktop: 52px;
	--iiec-day-event-slot-size-tablet: 46px;
	--iiec-day-event-slot-size-mobile: 48px;
	--iiec-day-event-slot-size: var(--iiec-day-event-slot-size-desktop);
	--iiec-popup-event-slot-size: 104px;
}

.iiec-calendar-v2 .iiec-calendar-day-has-events .iiec-calendar-day-trigger {
	position: relative;
	align-items: flex-start;
	min-height: 100%;
}

.iiec-calendar-v2 .iiec-calendar-event-badge-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--iiec-day-event-slot-size);
	height: var(--iiec-day-event-slot-size);
	transform: translate(-50%, -42%);
	transition: transform 160ms ease, filter 160ms ease;
}

.iiec-calendar-v2 .iiec-calendar-event-badge {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 4px 4px rgba(72, 40, 15, 0.2));
	user-select: none;
	-webkit-user-drag: none;
}

.iiec-calendar-v2 .iiec-calendar-day-trigger:hover .iiec-calendar-event-badge-wrap,
.iiec-calendar-v2 .iiec-calendar-day-trigger:focus-visible .iiec-calendar-event-badge-wrap {
	filter: brightness(1.06);
	transform: translate(-50%, -45%) scale(1.07);
}



/* Gentle, varied motion for illustrated event badges. */
.iiec-calendar-v2 .iiec-calendar-event-badge-wrap {
	will-change: transform;
}

.iiec-calendar-v2 .iiec-calendar-event-badge-comedy {
	animation: iiec-badge-comedy-sway 2.8s ease-in-out infinite;
}

.iiec-calendar-v2 .iiec-calendar-event-badge-fishing {
	animation: iiec-badge-fishing-bob 3.2s ease-in-out infinite;
}

.iiec-calendar-v2 .iiec-calendar-event-badge-reading {
	animation: iiec-badge-reading-float 3.6s ease-in-out infinite;
}

@keyframes iiec-badge-comedy-sway {
	0%, 100% { transform: translate(-50%, -42%) rotate(-5deg); }
	50% { transform: translate(-50%, -46%) rotate(5deg); }
}

@keyframes iiec-badge-fishing-bob {
	0%, 100% { transform: translate(-50%, -42%) translateY(2px) rotate(-2deg); }
	50% { transform: translate(-50%, -42%) translateY(-7px) rotate(2deg); }
}

@keyframes iiec-badge-reading-float {
	0%, 100% { transform: translate(-50%, -42%) translateX(-4px) rotate(-1deg); }
	50% { transform: translate(-50%, -47%) translateX(4px) rotate(1deg); }
}

.iiec-calendar-v2 .iiec-calendar-day-trigger:hover .iiec-calendar-event-badge-wrap,
.iiec-calendar-v2 .iiec-calendar-day-trigger:focus-visible .iiec-calendar-event-badge-wrap {
	animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
	.iiec-calendar-v2 .iiec-calendar-event-badge-wrap {
		animation: none !important;
	}
}

.iiec-calendar-v2 .iiec-calendar-event-badge-more {
	position: absolute;
	right: -3px;
	bottom: -2px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 21px;
	height: 21px;
	padding: 0 5px;
	color: #fff;
	font-size: 10px;
	font-weight: 900;
	line-height: 1;
	background: #1d67be;
	border: 2px solid #fff3cf;
	border-radius: 999px;
	box-shadow: 0 2px 3px rgba(58, 33, 15, 0.25);
}

@media screen and (max-width: 1024px) and (min-width: 561px) {
	.iiec-calendar-v2 { --iiec-day-event-slot-size: var(--iiec-day-event-slot-size-tablet); }
}

@media screen and (max-width: 560px) {
	.iiec-calendar-v2 .iiec-calendar-day-has-events .iiec-calendar-day-trigger {
		min-height: 72px;
	}

	.iiec-calendar-v2 { --iiec-day-event-slot-size: var(--iiec-day-event-slot-size-mobile); }

	.iiec-calendar-v2 .iiec-calendar-event-badge-wrap {
		top: 52%;
		transform: translate(-50%, -42%);
	}

	.iiec-calendar-v2 .iiec-calendar-day-trigger:hover .iiec-calendar-event-badge-wrap,
	.iiec-calendar-v2 .iiec-calendar-day-trigger:focus-visible .iiec-calendar-event-badge-wrap {
		transform: translate(-50%, -45%) scale(1.06);
	}
}

/* Make the event trigger fill its complete calendar cell so the badge can be
 * centered independently of the date number. */
.iiec-calendar-v2 .iiec-calendar-day-has-events > .iiec-calendar-day-trigger {
	position: absolute;
	z-index: 2;
	inset: 0;
	width: auto;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: clamp(5px, 0.72vw, 10px) !important;
}

@media screen and (max-width: 980px) {
	.iiec-calendar-v2 .iiec-calendar-day-has-events > .iiec-calendar-day-trigger {
		padding: 5px !important;
	}
}

@media screen and (max-width: 560px) {
	.iiec-calendar-v2 .iiec-calendar-day-has-events > .iiec-calendar-day-trigger {
		padding: 8px !important;
	}
}


/* ==========================================================================
   Event artwork inside calendar day popup
   ========================================================================== */
.iiec-day-modal-event-media.has-event-icon {
	width: clamp(92px, 10vw, 132px);
	height: clamp(92px, 10vw, 132px);
	padding: 8px;
	background: linear-gradient(145deg, #fffaf0, #efe0bd);
	border: 2px solid rgba(157, 111, 54, 0.34);
	border-radius: 22px;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.78),
		0 8px 18px rgba(64, 39, 17, 0.15);
}

.iiec-day-modal-event-media.has-event-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	border-radius: 14px;
}

.iiec-day-modal-event:has(.iiec-day-modal-event-media.has-event-icon) {
	grid-template-columns: clamp(92px, 10vw, 132px) minmax(0, 1fr);
	align-items: center;
}

@media screen and (max-width: 700px) {
	.iiec-day-modal-event-media.has-event-icon {
		width: 78px;
		height: 78px;
		padding: 6px;
		border-radius: 18px;
	}

	.iiec-day-modal-event:has(.iiec-day-modal-event-media.has-event-icon) {
		grid-template-columns: 78px minmax(0, 1fr);
	}
}

/* ========================================================================== 
   Event day modal - cue card asset skin
   ========================================================================== */

.iiec-day-modal-dialog {
	width: min(620px, 100%);
	min-height: 413px;
	overflow: hidden;
	background-color: transparent;
	background-image: url("../ui/event-popup-cue-card.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
	border: 0;
	border-radius: 0;
	box-shadow: 0 24px 70px rgba(9, 20, 35, 0.35);
}

.iiec-day-modal-header {
	position: relative;
	z-index: 1;
	padding: 42px 52px 14px;
	background: transparent;
	border: 0;
}

.iiec-day-modal-events {
	position: relative;
	z-index: 1;
	gap: 10px;
	max-height: calc(100vh - 230px);
	padding: 0 52px 46px;
}

.iiec-day-modal-event,
.iiec-day-modal-event-featured {
	padding: 14px 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.iiec-day-modal-close {
	width: 40px;
	height: 40px;
	flex-basis: 40px;
	color: #b84958;
	background: rgba(255, 250, 235, 0.72);
	border: 1px solid rgba(112, 76, 39, 0.28);
	border-radius: 10px;
	box-shadow: 0 2px 0 rgba(112, 76, 39, 0.12);
}

.iiec-day-modal-close:hover,
.iiec-day-modal-close:focus {
	color: #8f2f40;
	background: rgba(255, 250, 235, 0.95);
	border-color: rgba(112, 76, 39, 0.5);
}

@media screen and (max-width: 700px) {
	.iiec-day-modal {
		align-items: center;
		padding: 12px;
	}

	.iiec-day-modal-dialog {
		width: min(620px, 100%);
		min-height: 0;
		max-height: calc(100vh - 24px);
		border-radius: 0;
	}

	.iiec-day-modal-header {
		padding: 32px 34px 10px;
	}

	.iiec-day-modal-events {
		max-height: calc(100vh - 190px);
		padding: 0 34px 34px;
	}
}

@media screen and (max-width: 480px) {
	.iiec-day-modal-header {
		gap: 12px;
		padding: 26px 24px 8px;
	}

	.iiec-day-modal-events {
		padding: 0 24px 28px;
	}

	.iiec-day-modal-event {
		grid-template-columns: 50px minmax(0, 1fr);
		gap: 10px;
		padding: 10px 0;
	}

	.iiec-day-modal-event-media {
		width: 50px;
		height: 50px;
	}
}

/* ========================================================================== 
   Event day modal - centered cue card composition
   ========================================================================== */

.iiec-day-modal-dialog {
	width: min(620px, 100%);
}

.iiec-day-modal-header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: start;
	gap: 12px;
	padding: 36px 48px 12px;
	text-align: center;
}

.iiec-day-modal-header > div:first-child {
	grid-column: 1 / -1;
	grid-row: 1;
	justify-self: center;
	max-width: calc(100% - 96px);
}

.iiec-day-modal-eyebrow {
	margin-bottom: 6px;
	text-align: center;
}

.iiec-day-modal-title {
	text-align: center;
}

.iiec-day-modal-close {
	position: absolute;
	top: 26px;
	right: 30px;
	z-index: 2;
}

.iiec-day-modal-events {
	justify-items: center;
	gap: 18px;
	padding: 10px 54px 48px;
}

.iiec-day-modal-event,
.iiec-day-modal-event-featured {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas:
		"topline"
		"media"
		"title"
		"session"
		"location"
		"link";
	justify-items: center;
	width: 100%;
	max-width: 470px;
	gap: 0;
	padding: 10px 0 18px;
	text-align: center;
}

.iiec-day-modal-event-content {
	display: contents;
}

.iiec-day-modal-event-topline {
	grid-area: topline;
	justify-content: center;
	margin: 0 0 12px;
}

.iiec-day-modal-event-media,
.iiec-day-modal-event-media.has-event-icon {
	grid-area: media;
	width: 92px;
	height: 92px;
	margin: 0 0 14px;
	padding: 8px;
	border-radius: 20px;
}

.iiec-day-modal-event-title {
	grid-area: title;
	margin: 0;
	max-width: 100%;
	text-align: center;
}

.iiec-day-modal-event-session {
	grid-area: session;
	margin-top: 6px;
	text-align: center;
}

.iiec-day-modal-event-location {
	grid-area: location;
	justify-content: center;
	margin-top: 12px;
	text-align: center;
}

.iiec-day-modal-event-link {
	grid-area: link;
	justify-self: center;
	margin-top: 16px;
}

@media screen and (max-width: 700px) {
	.iiec-day-modal-header {
		padding: 30px 36px 10px;
	}

	.iiec-day-modal-header > div:first-child {
		max-width: calc(100% - 72px);
	}

	.iiec-day-modal-close {
		top: 20px;
		right: 22px;
	}

	.iiec-day-modal-events {
		padding: 8px 36px 36px;
	}

	.iiec-day-modal-event,
	.iiec-day-modal-event-featured {
		max-width: 420px;
	}
}

@media screen and (max-width: 480px) {
	.iiec-day-modal-header {
		padding: 24px 24px 8px;
	}

	.iiec-day-modal-header > div:first-child {
		max-width: calc(100% - 58px);
	}

	.iiec-day-modal-title {
		font-size: 22px;
	}

	.iiec-day-modal-close {
		top: 16px;
		right: 16px;
		width: 36px;
		height: 36px;
		flex-basis: 36px;
	}

	.iiec-day-modal-events {
		padding: 6px 24px 28px;
	}

	.iiec-day-modal-event,
	.iiec-day-modal-event-featured {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
		padding: 8px 0 16px;
	}

	.iiec-day-modal-event-media,
	.iiec-day-modal-event-media.has-event-icon {
		width: 76px;
		height: 76px;
		margin-bottom: 12px;
		padding: 6px;
		border-radius: 17px;
	}

	.iiec-day-modal-event-title {
		font-size: 18px;
	}
}


/* Cue card popup final polish */
.iiec-day-modal {
	padding: clamp(18px, 4vw, 46px);
	overflow-y: auto;
}

.iiec-day-modal-dialog {
	position: relative;
	width: min(760px, 100%);
	min-height: 0;
	max-height: none;
	overflow: visible;
	background: url("../ui/event-popup-cue-card.png") center / 100% 100% no-repeat !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: 0 24px 60px rgba(18, 34, 55, .30) !important;
	font-family: "Fredoka", "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: #173458;
}

.iiec-day-modal-header {
	position: relative;
	display: block;
	padding: clamp(34px, 5vw, 50px) clamp(70px, 10vw, 110px) clamp(24px, 3.5vw, 34px);
	text-align: center;
}

.iiec-day-modal-header > div:first-child {
	max-width: 100%;
	margin: 0 auto;
}

.iiec-day-modal-eyebrow {
	display: block;
	margin: 0 0 8px;
	font-size: clamp(13px, 1.6vw, 17px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #5075bb;
}

.iiec-day-modal-title {
	margin: 0;
	font-size: clamp(30px, 5vw, 48px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.025em;
	text-wrap: balance;
	color: #173458;
}

.iiec-day-modal-close {
	position: absolute;
	top: 20px;
	right: 22px;
	z-index: 5;
	width: 52px;
	height: 52px;
	min-width: 52px;
	padding: 0;
	border: 2px solid #cf3765;
	border-radius: 12px;
	background: rgba(255, 249, 231, .88);
	box-shadow: 0 4px 0 rgba(151, 82, 39, .16);
	color: #cf3765;
}

.iiec-day-modal-close:hover,
.iiec-day-modal-close:focus-visible {
	background: #cf3765;
	color: #fff;
	transform: translateY(-1px);
}

.iiec-day-modal-events {
	display: grid;
	justify-items: center;
	gap: 24px;
	padding: 8px clamp(54px, 8vw, 94px) clamp(44px, 6vw, 64px);
}

.iiec-day-modal-event,
.iiec-day-modal-event-featured {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas:
		"topline"
		"media"
		"title"
		"session"
		"location"
		"link";
	justify-items: center;
	align-content: start;
	width: min(100%, 560px);
	min-width: 0;
	margin: 0 auto;
	padding: 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: center;
}

.iiec-day-modal-event-content {
	display: contents;
}

.iiec-day-modal-event-topline {
	grid-area: topline;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 18px;
}

.iiec-day-modal-event-time {
	font-size: clamp(17px, 2.2vw, 22px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: .01em;
	color: #5075bb;
}

.iiec-day-modal-featured {
	padding: 9px 15px 8px;
	border-radius: 999px;
	font-size: clamp(12px, 1.6vw, 15px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: .02em;
	text-transform: uppercase;
	background: #fff0af;
	color: #6f5419;
}

.iiec-day-modal-event-media {
	grid-area: media;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	margin: 0 0 20px;
}

/* Uploaded photographs use a compact landscape frame. */
.iiec-day-modal-event-media.is-feature-image {
	width: min(230px, 56vw);
	aspect-ratio: 16 / 10;
	height: auto;
	padding: 10px;
	border: 4px solid rgba(191, 157, 108, .55);
	border-radius: 24px;
	background: rgba(255, 248, 225, .72);
	box-shadow: 0 10px 22px rgba(85, 57, 30, .13);
	overflow: hidden;
}

.iiec-day-modal-event-media.is-feature-image img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 13px;
}

/* Transparent game icons stay unframed and retain their natural shape. */
.iiec-day-modal-event-media.is-ui-icon {
	width: clamp(104px, 15vw, 132px);
	height: clamp(104px, 15vw, 132px);
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.iiec-day-modal-event-media.is-ui-icon img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
}

.iiec-day-modal-event-title {
	grid-area: title;
	max-width: 100%;
	margin: 0;
	font-size: clamp(26px, 4vw, 36px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.02em;
	text-align: center;
	text-wrap: balance;
	overflow-wrap: anywhere;
	color: #173458;
}

.iiec-day-modal-event-session {
	grid-area: session;
	margin: 9px 0 0;
	font-size: clamp(17px, 2.4vw, 21px);
	font-weight: 500;
	line-height: 1.25;
	color: #667792;
}

.iiec-day-modal-event-location {
	grid-area: location;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	max-width: 100%;
	margin: 18px 0 0;
	font-size: clamp(17px, 2.3vw, 21px);
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	color: #536783;
}

.iiec-day-modal-event-location .dashicons {
	flex: 0 0 auto;
	color: #43c9df;
}

.iiec-day-modal-event-link {
	grid-area: link;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	margin: 22px 0 0;
	padding: 13px 28px;
	border: 0;
	border-radius: 999px;
	box-shadow: 0 4px 0 #0d2747;
	font-size: clamp(17px, 2.2vw, 20px);
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	background: #173458;
	color: #fff;
}

.iiec-day-modal-event-link:hover,
.iiec-day-modal-event-link:focus-visible {
	background: #21466f;
	color: #fff;
	transform: translateY(-1px);
}

@media screen and (max-width: 700px) {
	.iiec-day-modal {
		padding: 16px;
	}

	.iiec-day-modal-header {
		padding: 32px 58px 22px;
	}

	.iiec-day-modal-close {
		top: 14px;
		right: 14px;
		width: 44px;
		height: 44px;
		min-width: 44px;
	}

	.iiec-day-modal-events {
		padding: 8px 34px 42px;
	}
}

@media screen and (max-width: 480px) {
	.iiec-day-modal {
		padding: 10px;
	}

	.iiec-day-modal-header {
		padding: 28px 46px 18px;
	}

	.iiec-day-modal-title {
		font-size: clamp(25px, 8.6vw, 34px);
	}

	.iiec-day-modal-close {
		top: 10px;
		right: 10px;
		width: 38px;
		height: 38px;
		min-width: 38px;
		border-radius: 10px;
	}

	.iiec-day-modal-events {
		padding: 8px 22px 34px;
	}

	.iiec-day-modal-event-topline {
		margin-bottom: 14px;
	}

	.iiec-day-modal-event-media.is-feature-image {
		width: min(210px, 68vw);
		padding: 7px;
		border-width: 3px;
		border-radius: 20px;
	}

	.iiec-day-modal-event-media.is-ui-icon {
		width: 98px;
		height: 98px;
	}

	.iiec-day-modal-event-title {
		font-size: clamp(23px, 7.4vw, 30px);
	}
}

/* ========================================================================== 
   Cue card popup - uniform editor-selected event artwork
   ========================================================================== */
.iiec-day-modal-dialog {
	box-sizing: border-box;
}

.iiec-day-modal-header {
	padding-top: clamp(46px, 6vw, 62px) !important;
}

.iiec-day-modal-eyebrow {
	margin-bottom: 10px !important;
}

.iiec-day-modal-events {
	width: 100%;
	box-sizing: border-box;
}

.iiec-day-modal-event,
.iiec-day-modal-event-featured,
.iiec-day-modal-event:has(.iiec-day-modal-event-media),
.iiec-day-modal-event:has(.iiec-day-modal-event-media.has-event-icon) {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	grid-template-areas:
		"topline"
		"media"
		"title"
		"session"
		"location"
		"link" !important;
	justify-items: center !important;
	align-items: start !important;
	width: min(100%, 560px) !important;
	min-width: 0 !important;
	margin: 0 auto !important;
	text-align: center !important;
}

/* Every image selected through Add Event receives the same predictable frame. */
.iiec-day-modal-event-media,
.iiec-day-modal-event-media.has-event-icon,
.iiec-day-modal-event-media.is-feature-image,
.iiec-day-modal-event-media.is-ui-icon {
	grid-area: media !important;
	display: grid !important;
	place-items: center !important;
	width: clamp(132px, 20vw, 170px) !important;
	height: clamp(132px, 20vw, 170px) !important;
	aspect-ratio: 1 / 1 !important;
	box-sizing: border-box !important;
	margin: 0 auto 20px !important;
	padding: 12px !important;
	overflow: hidden !important;
	background: rgba(255, 248, 225, .78) !important;
	border: 4px solid rgba(191, 157, 108, .52) !important;
	border-radius: 26px !important;
	box-shadow: 0 10px 22px rgba(85, 57, 30, .13) !important;
}

.iiec-day-modal-event-media img,
.iiec-day-modal-event-media.has-event-icon img,
.iiec-day-modal-event-media.is-feature-image img,
.iiec-day-modal-event-media.is-ui-icon img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: contain !important;
	object-position: center !important;
	border-radius: 15px !important;
}

.iiec-day-modal-event-title {
	max-width: min(100%, 520px) !important;
	font-size: clamp(25px, 3.6vw, 34px) !important;
	font-weight: 700 !important;
	line-height: 1.12 !important;
	letter-spacing: -.018em !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
	text-wrap: balance;
}

.iiec-day-modal-event-session,
.iiec-day-modal-event-location {
	max-width: min(100%, 500px) !important;
	overflow-wrap: break-word !important;
	word-break: normal !important;
}

@media screen and (max-width: 700px) {
	.iiec-day-modal-header {
		padding-top: 42px !important;
	}

	.iiec-day-modal-event-media,
	.iiec-day-modal-event-media.has-event-icon,
	.iiec-day-modal-event-media.is-feature-image,
	.iiec-day-modal-event-media.is-ui-icon {
		width: 132px !important;
		height: 132px !important;
	}
}

@media screen and (max-width: 480px) {
	.iiec-day-modal-header {
		padding-top: 38px !important;
	}

	.iiec-day-modal-event-media,
	.iiec-day-modal-event-media.has-event-icon,
	.iiec-day-modal-event-media.is-feature-image,
	.iiec-day-modal-event-media.is-ui-icon {
		width: 112px !important;
		height: 112px !important;
		padding: 9px !important;
		border-radius: 22px !important;
	}

	.iiec-day-modal-event-title {
		font-size: clamp(22px, 7vw, 28px) !important;
	}
}

/* ========================================================================== 
   Cue card popup - final containment and spacing polish
   ========================================================================== */
.iiec-day-modal-dialog {
	width: min(760px, calc(100vw - 32px)) !important;
	box-sizing: border-box !important;
}

.iiec-day-modal-header {
	padding: clamp(34px, 4.2vw, 46px) clamp(64px, 8vw, 92px) clamp(16px, 2.2vw, 22px) !important;
}

.iiec-day-modal-eyebrow {
	margin: 0 0 8px !important;
	transform: translateY(3px);
}

.iiec-day-modal-title {
	font-size: clamp(28px, 4.4vw, 42px) !important;
	line-height: 1.04 !important;
	letter-spacing: -.028em !important;
}

.iiec-day-modal-events {
	gap: 0 !important;
	padding: 4px clamp(48px, 7vw, 82px) clamp(58px, 7vw, 78px) !important;
}

.iiec-day-modal-event,
.iiec-day-modal-event-featured,
.iiec-day-modal-event:has(.iiec-day-modal-event-media),
.iiec-day-modal-event:has(.iiec-day-modal-event-media.has-event-icon) {
	width: min(100%, 540px) !important;
}

.iiec-day-modal-event-topline {
	gap: 10px !important;
	margin: 0 0 12px !important;
}

.iiec-day-modal-event-time {
	font-size: clamp(16px, 2vw, 20px) !important;
}

.iiec-day-modal-featured {
	padding: 8px 14px 7px !important;
	font-size: clamp(11px, 1.45vw, 14px) !important;
}

.iiec-day-modal-event-media,
.iiec-day-modal-event-media.has-event-icon,
.iiec-day-modal-event-media.is-feature-image,
.iiec-day-modal-event-media.is-ui-icon {
	width: clamp(118px, 17vw, 150px) !important;
	height: clamp(118px, 17vw, 150px) !important;
	margin: 0 auto 14px !important;
	padding: 10px !important;
	border-radius: 24px !important;
}

.iiec-day-modal-event-media img,
.iiec-day-modal-event-media.has-event-icon img,
.iiec-day-modal-event-media.is-feature-image img,
.iiec-day-modal-event-media.is-ui-icon img {
	object-fit: contain !important;
	border-radius: 13px !important;
}

.iiec-day-modal-event-title {
	max-width: min(100%, 520px) !important;
	margin: 0 !important;
	font-size: clamp(24px, 3.4vw, 32px) !important;
	line-height: 1.08 !important;
	letter-spacing: -.02em !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
}

.iiec-day-modal-event-session {
	margin: 6px 0 0 !important;
	font-size: clamp(16px, 2vw, 19px) !important;
	line-height: 1.2 !important;
}

.iiec-day-modal-event-location {
	margin: 11px 0 0 !important;
	font-size: clamp(16px, 2vw, 19px) !important;
	line-height: 1.2 !important;
}

.iiec-day-modal-event-link {
	min-height: 40px !important;
	margin: 16px 0 0 !important;
	padding: 12px 26px !important;
	font-size: clamp(16px, 2vw, 19px) !important;
}

@media screen and (max-width: 700px) {
	.iiec-day-modal-header {
		padding: 38px 54px 16px !important;
	}

	.iiec-day-modal-events {
		padding: 2px 30px 56px !important;
	}

	.iiec-day-modal-event-media,
	.iiec-day-modal-event-media.has-event-icon,
	.iiec-day-modal-event-media.is-feature-image,
	.iiec-day-modal-event-media.is-ui-icon {
		width: 122px !important;
		height: 122px !important;
	}
}

@media screen and (max-width: 480px) {
	.iiec-day-modal-header {
		padding: 34px 42px 14px !important;
	}

	.iiec-day-modal-eyebrow {
		font-size: 12px !important;
	}

	.iiec-day-modal-title {
		font-size: clamp(24px, 8vw, 31px) !important;
	}

	.iiec-day-modal-events {
		padding: 0 20px 50px !important;
	}

	.iiec-day-modal-event-media,
	.iiec-day-modal-event-media.has-event-icon,
	.iiec-day-modal-event-media.is-feature-image,
	.iiec-day-modal-event-media.is-ui-icon {
		width: 104px !important;
		height: 104px !important;
		margin-bottom: 12px !important;
	}

	.iiec-day-modal-event-title {
		font-size: clamp(21px, 6.8vw, 27px) !important;
	}
}

/* ==========================================================================
   Cue card popup — cropped asset final layout
   ========================================================================== */

.iiec-day-modal {
	align-items: center !important;
	justify-content: center !important;
	padding: 24px !important;
	overflow: auto !important;
}

.iiec-day-modal-dialog {
	position: relative !important;
	display: grid !important;
	grid-template-rows: auto minmax(0, 1fr) !important;
	width: min(760px, calc(100vw - 48px)) !important;
	min-height: 620px !important;
	height: auto !important;
	max-height: calc(100vh - 48px) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	background-color: transparent !important;
	background-image: url("../ui/event-popup-cue-card.png") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 100% 100% !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: 0 24px 64px rgba(18, 34, 55, 0.30) !important;
}

.iiec-day-modal-header {
	position: relative !important;
	display: block !important;
	padding: 34px 88px 18px !important;
	text-align: center !important;
	background: transparent !important;
	border: 0 !important;
}

.iiec-day-modal-header > div:first-child {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 auto !important;
}

.iiec-day-modal-eyebrow {
	display: block !important;
	margin: 0 0 8px !important;
	color: #5075bb !important;
	font-size: clamp(12px, 1.5vw, 15px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: 0.12em !important;
	text-align: center !important;
	text-transform: uppercase !important;
	transform: none !important;
}

.iiec-day-modal-title {
	max-width: 100% !important;
	margin: 0 !important;
	color: #173458 !important;
	font-size: clamp(28px, 4.4vw, 42px) !important;
	font-weight: 700 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.026em !important;
	text-align: center !important;
	text-wrap: balance !important;
}

.iiec-day-modal-close {
	position: absolute !important;
	z-index: 5 !important;
	top: 22px !important;
	right: 26px !important;
	width: 46px !important;
	height: 46px !important;
	min-width: 46px !important;
	flex-basis: 46px !important;
	padding: 0 !important;
	color: #cf3765 !important;
	background: rgba(255, 249, 231, 0.92) !important;
	border: 2px solid #cf3765 !important;
	border-radius: 12px !important;
	box-shadow: 0 3px 0 rgba(151, 82, 39, 0.14) !important;
}

.iiec-day-modal-close:hover,
.iiec-day-modal-close:focus-visible {
	color: #fff !important;
	background: #cf3765 !important;
	transform: translateY(-1px) !important;
}

.iiec-day-modal-events {
	display: grid !important;
	place-items: center !important;
	align-content: center !important;
	width: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
	box-sizing: border-box !important;
	gap: 0 !important;
	padding: 6px 76px 50px !important;
}

.iiec-day-modal-event,
.iiec-day-modal-event-featured,
.iiec-day-modal-event:has(.iiec-day-modal-event-media),
.iiec-day-modal-event:has(.iiec-day-modal-event-media.has-event-icon) {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	grid-template-areas:
		"topline"
		"media"
		"title"
		"session"
		"location"
		"link" !important;
	justify-items: center !important;
	align-content: center !important;
	width: min(100%, 560px) !important;
	min-width: 0 !important;
	margin: 0 auto !important;
	padding: 0 !important;
	text-align: center !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.iiec-day-modal-event-content {
	display: contents !important;
}

.iiec-day-modal-event-topline {
	grid-area: topline !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin: 0 0 12px !important;
}

.iiec-day-modal-event-time {
	color: #5075bb !important;
	font-size: clamp(16px, 2vw, 20px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

.iiec-day-modal-featured {
	padding: 8px 14px 7px !important;
	color: #6f5419 !important;
	font-size: clamp(11px, 1.4vw, 14px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	background: #fff0af !important;
	border-radius: 999px !important;
}

.iiec-day-modal-event-media,
.iiec-day-modal-event-media.has-event-icon,
.iiec-day-modal-event-media.is-feature-image,
.iiec-day-modal-event-media.is-ui-icon {
	grid-area: media !important;
	display: grid !important;
	place-items: center !important;
	width: var(--iiec-popup-event-slot-size, 104px) !important;
	height: var(--iiec-popup-event-slot-size, 104px) !important;
	aspect-ratio: 1 / 1 !important;
	box-sizing: border-box !important;
	margin: 0 auto 14px !important;
	padding: 10px !important;
	overflow: hidden !important;
	background: rgba(255, 248, 225, 0.76) !important;
	border: 4px solid rgba(191, 157, 108, 0.50) !important;
	border-radius: 24px !important;
	box-shadow: 0 8px 18px rgba(85, 57, 30, 0.12) !important;
}

.iiec-day-modal-event-media img,
.iiec-day-modal-event-media.has-event-icon img,
.iiec-day-modal-event-media.is-feature-image img,
.iiec-day-modal-event-media.is-ui-icon img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: contain !important;
	object-position: center !important;
	border-radius: 12px !important;
}

.iiec-day-modal-event-title {
	grid-area: title !important;
	max-width: min(100%, 540px) !important;
	margin: 0 !important;
	color: #173458 !important;
	font-size: clamp(24px, 3.5vw, 32px) !important;
	font-weight: 700 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.02em !important;
	text-align: center !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
	text-wrap: balance !important;
}

.iiec-day-modal-event-session {
	grid-area: session !important;
	margin: 6px 0 0 !important;
	color: #667792 !important;
	font-size: clamp(15px, 1.9vw, 18px) !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	text-align: center !important;
}

.iiec-day-modal-event-location {
	grid-area: location !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	margin: 10px 0 0 !important;
	color: #536783 !important;
	font-size: clamp(15px, 1.9vw, 18px) !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	text-align: center !important;
}

.iiec-day-modal-event-location .dashicons {
	flex: 0 0 auto !important;
	color: #43c9df !important;
}

.iiec-day-modal-event-link {
	grid-area: link !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 48px !important;
	margin: 15px 0 0 !important;
	padding: 12px 26px !important;
	color: #fff !important;
	font-size: clamp(16px, 2vw, 19px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	background: #173458 !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 0 #0d2747 !important;
}

.iiec-day-modal-event-link:hover,
.iiec-day-modal-event-link:focus-visible {
	color: #fff !important;
	background: #21466f !important;
	transform: translateY(-1px) !important;
}

@media screen and (max-width: 700px) {
	.iiec-day-modal {
		padding: 12px !important;
	}

	.iiec-day-modal-dialog {
		width: min(620px, calc(100vw - 24px)) !important;
		min-height: min(680px, calc(100vh - 24px)) !important;
		max-height: calc(100vh - 24px) !important;
		overflow-y: visible !important;
	}

	.iiec-day-modal-header {
		padding: 32px 56px 16px !important;
	}

	.iiec-day-modal-close {
		top: 14px !important;
		right: 14px !important;
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
		flex-basis: 42px !important;
	}

	.iiec-day-modal-events {
		padding: 6px 30px 38px !important;
	}

	.iiec-day-modal-event-media,
	.iiec-day-modal-event-media.has-event-icon,
	.iiec-day-modal-event-media.is-feature-image,
	.iiec-day-modal-event-media.is-ui-icon {
		width: 88px !important;
		height: 88px !important;
	}
}

@media screen and (max-width: 480px) {
	.iiec-day-modal-header {
		padding: 28px 44px 14px !important;
	}

	.iiec-day-modal-title {
		font-size: clamp(24px, 8vw, 31px) !important;
	}

	.iiec-day-modal-close {
		top: 10px !important;
		right: 10px !important;
		width: 38px !important;
		height: 38px !important;
		min-width: 38px !important;
		flex-basis: 38px !important;
	}

	.iiec-day-modal-events {
		padding: 4px 20px 30px !important;
	}

	.iiec-day-modal-event-media,
	.iiec-day-modal-event-media.has-event-icon,
	.iiec-day-modal-event-media.is-feature-image,
	.iiec-day-modal-event-media.is-ui-icon {
		width: 80px !important;
		height: 80px !important;
		padding: 8px !important;
		border-radius: 20px !important;
	}

	.iiec-day-modal-event-title {
		font-size: clamp(21px, 6.8vw, 27px) !important;
	}
}


/* ==========================================================================
   AJAX month navigation and coordinated asset reveal
   ========================================================================== */

.iiec-calendar-v2[data-iiec-calendar-v2] {
	position: relative;
}

.iiec-calendar-v2[data-iiec-calendar-v2]::before {
	position: absolute;
	z-index: 100;
	top: 50%;
	left: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 168px;
	min-height: 48px;
	padding: 10px 20px;
	color: #4b2d17;
	font-family: "Lilita One", "Fredoka", "Arial Rounded MT Bold", sans-serif;
	font-size: clamp(16px, 2vw, 22px);
	font-weight: 400;
	letter-spacing: 0.02em;
	text-align: center;
	content: "Loading events...";
	background: rgba(255, 244, 207, 0.96);
	border: 3px solid rgba(127, 79, 35, 0.55);
	border-radius: 999px;
	box-shadow:
		0 5px 0 rgba(111, 67, 28, 0.18),
		0 14px 30px rgba(55, 31, 13, 0.2);
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, -45%) scale(0.96);
	transition: opacity 180ms ease, transform 180ms ease;
}

.iiec-calendar-v2.is-loading::before,
.iiec-calendar-v2.is-switching::before {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

.iiec-calendar-v2 .iiec-calendar-v2-hero,
.iiec-calendar-v2 .iiec-calendar-v2-shell {
	opacity: 1;
	transition: opacity 260ms ease, transform 260ms ease;
}

.iiec-calendar-v2.is-loading .iiec-calendar-v2-hero,
.iiec-calendar-v2.is-loading .iiec-calendar-v2-shell {
	opacity: 0;
	transform: translateY(5px);
}

.iiec-calendar-v2.is-switching .iiec-calendar-v2-hero,
.iiec-calendar-v2.is-switching .iiec-calendar-v2-shell {
	opacity: 0.18;
	pointer-events: none;
	transform: translateY(3px) scale(0.995);
}

.iiec-calendar-v2.is-ready .iiec-calendar-v2-hero,
.iiec-calendar-v2.is-ready .iiec-calendar-v2-shell {
	opacity: 1;
	transform: none;
}

.iiec-calendar-v2[aria-busy="true"] .iiec-calendar-navigation {
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	.iiec-calendar-v2[data-iiec-calendar-v2]::before,
	.iiec-calendar-v2 .iiec-calendar-v2-hero,
	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		transition: none;
	}
}


/* ========================================================================== 
   In-place sliding month transitions
   ========================================================================== */

/* The frame, hanging sign, character, arrows and modal stay mounted. Only the
 * weekday/grid panel inside the parchment opening changes between months. */
.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.iiec-calendar-v2 .iiec-calendar-month-panel {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-rows: 18% minmax(0, 1fr);
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	opacity: 1;
	transform: translateX(0);
	transition:
		transform 280ms cubic-bezier(.22, .8, .28, 1),
		opacity 220ms ease;
	will-change: transform, opacity;
}

.iiec-calendar-v2 .iiec-calendar-month-panel.is-entering-right {
	opacity: 0.2;
	transform: translateX(9%);
}

.iiec-calendar-v2 .iiec-calendar-month-panel.is-entering-left {
	opacity: 0.2;
	transform: translateX(-9%);
}

.iiec-calendar-v2 .iiec-calendar-month-panel.is-leaving-left {
	opacity: 0;
	transform: translateX(-9%);
}

.iiec-calendar-v2 .iiec-calendar-month-panel.is-leaving-right {
	opacity: 0;
	transform: translateX(9%);
}

.iiec-calendar-v2.is-month-transitioning .iiec-calendar-navigation {
	pointer-events: none;
}

/* Month text changes without replacing the plaque or the rest of the shell. */
.iiec-calendar-v2.is-month-transitioning .iiec-calendar-heading h2 {
	animation: iiec-month-title-settle 280ms ease both;
}

@keyframes iiec-month-title-settle {
	0% { opacity: .35; transform: translateY(3px) scale(.985); }
	100% { opacity: 1; transform: none; }
}

/* The old full-calendar switching veil is intentionally disabled during a
 * month transition. Initial page loading still uses the coordinated reveal. */
.iiec-calendar-v2.is-month-transitioning::before {
	display: none !important;
}

.iiec-calendar-v2.is-month-transitioning .iiec-calendar-v2-hero,
.iiec-calendar-v2.is-month-transitioning .iiec-calendar-v2-shell {
	opacity: 1 !important;
	transform: none !important;
}

@media screen and (max-width: 560px) {
	.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport {
		height: 566px;
		overflow-x: auto;
		overflow-y: hidden;
	}

	.iiec-calendar-v2 .iiec-calendar-month-panel {
		display: block;
		width: 720px;
		min-width: 720px;
		height: 566px;
	}

	.iiec-calendar-v2 .iiec-calendar-month-panel .iiec-calendar-weekdays,
	.iiec-calendar-v2 .iiec-calendar-month-panel .iiec-calendar-grid {
		width: 720px;
		min-width: 720px;
	}
}

@media screen and (max-width: 380px) {
	.iiec-calendar-v2 .iiec-calendar-month-panel {
		width: 680px;
		min-width: 680px;
	}

	.iiec-calendar-v2 .iiec-calendar-month-panel .iiec-calendar-weekdays,
	.iiec-calendar-v2 .iiec-calendar-month-panel .iiec-calendar-grid {
		width: 680px;
		min-width: 680px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.iiec-calendar-v2 .iiec-calendar-month-panel,
	.iiec-calendar-v2.is-month-transitioning .iiec-calendar-heading h2 {
		animation: none !important;
		transition: none !important;
	}
}

/* Let the animated viewport occupy both rows of the existing parchment grid. */
.iiec-calendar-v2 .iiec-calendar-v2-content > .iiec-calendar-v2-scroll-viewport {
	grid-row: 1 / -1;
}

/* 0.5.21 — Studio-wide component plane.
 * The calendar background is now a visual sibling rather than the calendar
 * root, the hero and shell no longer trap child z-index values in separate
 * stacking contexts, and navigation controls use replaceable artwork. */
.iiec-calendar-v2[data-iiec-calendar-v2] {
	position: relative !important;
	isolation: isolate !important;
	overflow: visible !important;
}
.iiec-calendar-v2-page-background {
	/* Asset-control proxy: the shared content plane paints the actual page background. */
	position: absolute !important;
	z-index: 0 !important;
	left: 0 !important;
	top: 0 !important;
	display: block !important;
	width: 1px !important;
	height: 1px !important;
	max-width: 1px !important;
	max-height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
	transform: none !important;
}
.iiec-calendar-v2 > .iiec-calendar-v2-hero,
.iiec-calendar-v2 > .iiec-calendar-v2-shell {
	isolation: auto !important;
	z-index: auto !important;
}
.iiec-calendar-v2-hero,
.iiec-calendar-v2-shell,
.iiec-featured-carousel-viewport,
.iiec-calendar-v2-frame,
.iiec-calendar-v2-month-plaque,
.iiec-calendar-v2-bluejay,
.iiec-calendar-v2-content,
.iiec-calendar-heading,
.iiec-calendar-navigation,
.iiec-featured-carousel-arrow {
	transform-origin: center center;
}
.iiec-calendar-v2-hero,
.iiec-calendar-v2-shell {
	position: relative;
}
.iiec-calendar-v2-hero,
.iiec-calendar-v2-shell,
.iiec-calendar-v2-content {
	overflow: visible;
}
.iiec-calendar-component-button-art {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 0;
	object-fit: contain;
	object-position: center;
	pointer-events: none;
	user-select: none;
}
.iiec-calendar-v2-shell > .iiec-calendar-navigation,
.iiec-featured-carousel-arrow {
	box-sizing: border-box;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	filter: none;
}
.iiec-calendar-v2-shell > .iiec-calendar-navigation:hover,
.iiec-calendar-v2-shell > .iiec-calendar-navigation:focus,
.iiec-featured-carousel-arrow:hover,
.iiec-featured-carousel-arrow:focus-visible {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	filter: brightness(1.08);
}
.iiec-featured-carousel-arrow:disabled {
	display: inline-flex;
	opacity: .55;
	cursor: default;
}
.iiec-calendar-v2-shell > .iiec-calendar-navigation .iiec-calendar-navigation-label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* 0.5.22 — the registered Calendar Page Background is the only page artwork.
 * Clear legacy Elementor/theme background images behind the independent Studio
 * background layer so moving it cannot reveal a duplicate copy underneath. */
body:has(.iiec-calendar-v2[data-iiec-calendar-v2]) .site,
body:has(.iiec-calendar-v2[data-iiec-calendar-v2]) #page,
body:has(.iiec-calendar-v2[data-iiec-calendar-v2]) #content,
body:has(.iiec-calendar-v2[data-iiec-calendar-v2]) .site-content,
body:has(.iiec-calendar-v2[data-iiec-calendar-v2]) .site-main,
body:has(.iiec-calendar-v2[data-iiec-calendar-v2]) .elementor,
body:has(.iiec-calendar-v2[data-iiec-calendar-v2]) .elementor-section-wrap,
body:has(.iiec-calendar-v2[data-iiec-calendar-v2]) .elementor-location-single,
body:has(.iiec-calendar-v2[data-iiec-calendar-v2]) .elementor-widget-shortcode > .elementor-widget-container {
  background-image: none !important;
}



.iiec-featured-carousel-arrow {
    --iiec-featured-arrow-size: clamp(38px, 4.4vw, 56px);
    width: var(--iiec-featured-arrow-size) !important;
    height: var(--iiec-featured-arrow-size) !important;
    margin-top: calc(var(--iiec-featured-arrow-size) / -2) !important;
    transform: none !important;
    transition: filter 160ms ease !important;
}
.iiec-featured-carousel-arrow:hover,
.iiec-featured-carousel-arrow:focus-visible {
    transform: none !important;
}
.iiec-calendar-v2-shell > .iiec-calendar-navigation {
    transform: none !important;
    transition: filter 160ms ease !important;
}
.iiec-calendar-v2-shell > .iiec-calendar-navigation:hover,
.iiec-calendar-v2-shell > .iiec-calendar-navigation:focus {
    transform: none !important;
}
@media screen and (max-width: 560px) {
    .iiec-featured-carousel-arrow {
        --iiec-featured-arrow-size: 34px;
    }
}




/* ========================================================================== 
   Event Calendar 3.0 dev.5 — clean scene reset
   Only background, featured content, its independent frame, and grid own
   Studio geometry. Removed legacy artwork is deliberately suppressed.
   ========================================================================== */
.iiec-calendar-v2-frame,
.iiec-calendar-v2-month-plaque,
.iiec-calendar-v2-bluejay,
.iiec-calendar-v2-hero-image { display: none !important; }

.iiec-calendar-v2 {
    position: relative;
}

.iiec-calendar-v2-hero {
    z-index: 20;
    aspect-ratio: 16 / 9;
    width: min(900px, 82%);
    margin: 0 auto 36px;
}

.iiec-featured-carousel-viewport {
    inset: 0;
    border-radius: 24px;
    background: rgba(18, 155, 205, .92);
    box-shadow: none;
}

.iiec-featured-carousel-frame {
    position: absolute;
    z-index: 21;
    top: 0;
    left: 50%;
    box-sizing: border-box;
    width: min(900px, 82%);
    aspect-ratio: 16 / 9;
    border: clamp(12px, 1.2vw, 22px) solid #bd742b;
    border-radius: 34px;
    background: transparent;
    box-shadow:
        0 8px 0 #764018,
        0 18px 30px rgba(38, 20, 7, .28),
        inset 0 0 0 5px #f2c16b,
        inset 0 0 0 9px #8e4f1f;
    transform: translateX(-50%);
    transform-origin: center center;
    pointer-events: none;
}

.iiec-featured-carousel-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 28px;
    color: #fff;
    text-align: center;
    background: linear-gradient(180deg, #27b8e7, #128ebf);
}
.iiec-featured-carousel-empty strong {
    font-family: "Lilita One", "Fredoka", sans-serif;
    font-size: clamp(34px, 5vw, 76px);
    line-height: .95;
    text-transform: uppercase;
    text-shadow: 0 4px 0 rgba(0, 69, 122, .55);
}
.iiec-featured-carousel-empty span {
    font-size: clamp(16px, 2vw, 26px);
    font-weight: 700;
}

.iiec-featured-carousel-arrow { z-index: 24; }
.iiec-featured-carousel-arrow-previous { left: -2.7%; }
.iiec-featured-carousel-arrow-next { right: -2.7%; }

/* The calendar grid is now the only calendar-shell Studio component. The
 * month heading and controls remain CSS-owned functional children. */
.iiec-calendar-v2-shell {
    aspect-ratio: auto;
    min-height: 760px;
}
.iiec-calendar-v2-content {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: min(1040px, 92%);
    min-height: 650px;
    margin: 120px auto 0;
}
.iiec-calendar-v2-shell > .iiec-calendar-heading {
    top: 28px;
    width: min(520px, 60%);
    height: 68px;
}
.iiec-calendar-v2-shell > .iiec-calendar-navigation {
    top: 32px;
}
.iiec-calendar-v2-shell > .iiec-calendar-navigation-previous { left: 18%; }
.iiec-calendar-v2-shell > .iiec-calendar-navigation-next { right: 18%; }

@media screen and (max-width: 700px) {
    .iiec-calendar-v2-hero,
    .iiec-featured-carousel-frame { width: min(96%, 680px); }
    .iiec-featured-carousel-frame { border-width: 10px; border-radius: 22px; }
    .iiec-calendar-v2-content { width: 96%; margin-top: 105px; }
    .iiec-calendar-v2-shell > .iiec-calendar-navigation-previous { left: 5%; }
    .iiec-calendar-v2-shell > .iiec-calendar-navigation-next { right: 5%; }
}

/* Event Calendar 3.0 dev.7: clean five-component calendar scene. */
.iiec-calendar-v2 > .iiec-featured-carousel,
.iiec-calendar-v2 > .iiec-featured-carousel-frame {
	display: none !important;
}

.iiec-calendar-v2-shell {
	position: relative;
}

.iiec-calendar-grid-frame {
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(76vw, 1280px);
	height: min(72vw, 900px);
	box-sizing: border-box;
	pointer-events: none;
	border: 18px solid rgba(148, 93, 37, 0.95);
	border-radius: 26px;
	box-shadow:
		inset 0 0 0 6px rgba(255, 221, 128, 0.8),
		0 16px 30px rgba(20, 55, 86, 0.26);
	transform: translate(-50%, -45%);
	z-index: 1;
}

.iiec-calendar-v2-content {
	position: relative;
	z-index: 2;
}

.iiec-calendar-v2-shell > .iiec-calendar-navigation {
	z-index: 3;
}

@media (max-width: 900px) {
	.iiec-calendar-grid-frame {
		width: calc(100% - 28px);
		height: calc(100% - 120px);
		border-width: 12px;
		transform: translate(-50%, -42%);
	}
}

/* Event Calendar 3.0 dev.8: movable month display and calendar-only document shell. */
/* 3.0.0-dev.54: shared site footer stays in normal flow on Calendar pages. */

.iiec-calendar-v2-shell > .iiec-calendar-heading {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 360px;
	height: 92px;
	padding: 12px 24px;
	background: rgba(24, 151, 203, 0.96);
	border: 4px solid rgba(255, 255, 255, 0.96);
	border-radius: 14px;
	box-shadow: 0 8px 18px rgba(10, 70, 110, 0.28);
	transform-origin: center center;
	overflow: hidden;
	z-index: 3;
}

.iiec-calendar-v2-shell > .iiec-calendar-heading h2 {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-size: clamp(30px, 3vw, 52px) !important;
	line-height: 1 !important;
	text-align: center;
	white-space: nowrap;
	text-shadow: 0 3px 0 rgba(0, 72, 120, 0.45);
}

@media (max-width: 700px) {
	.iiec-calendar-v2-shell > .iiec-calendar-heading {
		width: 250px;
		height: 72px;
		padding: 10px 16px;
	}
}

/* Event Calendar 3.0 dev.10: mobile grid viewport repair.
 * The Studio-owned Calendar Grid is a real 358 x 590 viewport. The functional
 * month panel remains 720px wide inside it and scrolls horizontally. */
@media screen and (max-width: 700px) {
    .iiec-calendar-v2-shell {
        box-sizing: border-box !important;
        width: 390px !important;
        max-width: 100% !important;
        min-height: 820px !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        box-sizing: border-box !important;
        width: 358px !important;
        min-width: 358px !important;
        max-width: 358px !important;
        height: 590px !important;
        min-height: 590px !important;
        margin: 120px auto 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #f7e4b0 !important;
        border: 0 !important;
        border-radius: 10px !important;
        box-shadow: none !important;
        z-index: 2 !important;
    }

    .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] .iiec-calendar-v2-scroll-viewport {
        position: relative !important;
        display: block !important;
        box-sizing: border-box !important;
        width: 358px !important;
        min-width: 358px !important;
        max-width: 358px !important;
        height: 590px !important;
        min-height: 590px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 !important;
        scroll-behavior: smooth;
        scroll-snap-type: x proximity;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .iiec-calendar-v2-scroll-viewport::-webkit-scrollbar { display: none; }

    .iiec-calendar-v2 .iiec-calendar-month-panel,
    .iiec-calendar-v2 .iiec-calendar-weekdays,
    .iiec-calendar-v2 .iiec-calendar-grid {
        box-sizing: border-box !important;
        width: 720px !important;
        min-width: 720px !important;
        max-width: 720px !important;
    }

    .iiec-calendar-v2 .iiec-calendar-month-panel {
        display: block !important;
        height: 590px !important;
        min-height: 590px !important;
    }

    .iiec-calendar-grid-frame[data-ii-component="event_calendar.grid.frame"] {
        position: absolute !important;
        top: 112px !important;
        left: 6px !important;
        box-sizing: border-box !important;
        width: 378px !important;
        min-width: 378px !important;
        max-width: 378px !important;
        height: 606px !important;
        min-height: 606px !important;
        margin: 0 !important;
        border-width: 10px !important;
        border-radius: 18px !important;
        transform: none !important;
        z-index: 1 !important;
    }

    .iiec-calendar-v2-shell > .iiec-calendar-heading,
    .iiec-calendar-v2-shell > .iiec-calendar-navigation { z-index: 3 !important; }
}

/* 3.0.0-dev.37: canonical event popup. All obsolete redesign overrides were removed. */
.iiec-day-modal{
  padding:18px!important;
  align-items:center!important;
  justify-content:center!important;
}
.iiec-day-modal-dialog{
  position:relative!important;
  isolation:isolate!important;
  width:min(1360px,calc(100vw - 36px))!important;
  height:min(900px,calc(100vh - 36px))!important;
  max-width:none!important;
  max-height:none!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:none!important;
}
.iiec-day-modal-card-art{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  object-position:center!important;
  pointer-events:none!important;
  user-select:none!important;
}
.iiec-day-modal-card-content{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
}
.iiec-day-modal-header{
  position:relative!important;
  padding:28px 100px 24px!important;
  border-bottom:2px solid rgba(205,55,88,.75)!important;
  text-align:center!important;
}
.iiec-day-modal-eyebrow{
  margin:0 0 8px!important;
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  color:#4772b6!important;
}
.iiec-day-modal-title{
  margin:0!important;
  font-size:clamp(46px,4.2vw,68px)!important;
  line-height:1!important;
  color:#173b61!important;
  white-space:nowrap!important;
}
.iiec-day-modal-close{
  top:26px!important;
  right:30px!important;
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  border:3px solid #dc3768!important;
  border-radius:16px!important;
  background:rgba(255,250,236,.92)!important;
  color:#dc3768!important;
}
.iiec-day-modal-events{
  min-height:0!important;
  padding:30px 86px 30px!important;
  overflow:hidden!important;
}
.iiec-day-modal-event-redesign{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-width:none!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
}
.iiec-popup-card-body{
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr)!important;
  grid-template-rows:minmax(0,1fr) 72px!important;
  grid-template-areas:"details aside" "button button"!important;
  column-gap:72px!important;
  row-gap:22px!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  align-items:stretch!important;
}
.iiec-popup-card-details{
  grid-area:details!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  min-width:0!important;
  min-height:0!important;
  padding:4px 0 0!important;
  overflow:hidden!important;
}
.iiec-popup-card-kicker{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 18px!important;
  font-size:20px!important;
  font-weight:900!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  color:#d2446b!important;
}
.iiec-popup-card-kicker::before{
  content:""!important;
  box-sizing:border-box!important;
  width:40px!important;
  height:40px!important;
  flex:0 0 40px!important;
  border:3px solid currentColor!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 35% 38%,currentColor 0 3px,transparent 4px),radial-gradient(circle at 65% 38%,currentColor 0 3px,transparent 4px),linear-gradient(currentColor,currentColor) 50% 70%/16px 3px no-repeat!important;
}
.iiec-day-modal-event-redesign .iiec-day-modal-event-title{
  margin:0 0 28px!important;
  max-width:100%!important;
  font-size:clamp(38px,3.1vw,54px)!important;
  line-height:1.02!important;
  color:#173b61!important;
  text-align:left!important;
  white-space:normal!important;
}
.iiec-popup-card-description{display:none!important}
.iiec-popup-session-heading{
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  margin:0 0 14px!important;
  font-size:20px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#2c67aa!important;
}
.iiec-popup-session-heading::before{
  content:"◷"!important;
  font-size:32px!important;
  line-height:1!important;
}
.iiec-popup-session-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:start!important;
  gap:10px!important;
  width:100%!important;
  max-height:none!important;
  overflow:visible!important;
  padding:0!important;
}
.iiec-popup-session-row{
  display:grid!important;
  grid-template-columns:160px minmax(0,1fr)!important;
  gap:20px!important;
  align-items:center!important;
  min-height:62px!important;
  padding:10px 20px!important;
  border:1px solid rgba(43,82,112,.18)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.62)!important;
}
.iiec-popup-session-label{
  display:block!important;
  min-width:0!important;
  font-size:16px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  color:#2d67a8!important;
}
.iiec-popup-session-date{display:none!important}
.iiec-popup-session-time{
  min-width:0!important;
  font-size:20px!important;
  font-weight:900!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  text-align:right!important;
  color:#173b61!important;
}
.iiec-popup-card-aside{
  grid-area:aside!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  gap:16px!important;
  min-width:0!important;
  min-height:0!important;
  align-self:stretch!important;
  overflow:hidden!important;
}
.iiec-day-modal-event-media.iiec-popup-card-image{
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:1/1!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.52)!important;
  box-shadow:0 10px 24px rgba(23,59,97,.14)!important;
}
.iiec-day-modal-event-media.iiec-popup-card-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
}
.iiec-day-modal-event-media.iiec-popup-card-image .dashicons{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  font-size:72px!important;
  color:#6b8296!important;
}
.iiec-popup-card-facts{
  display:grid!important;
  gap:0!important;
  margin:0!important;
  padding:2px 18px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.55)!important;
}
.iiec-popup-card-fact{
  display:grid!important;
  grid-template-columns:120px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  min-height:52px!important;
  padding:8px 0!important;
  border-bottom:1px solid rgba(79,102,120,.28)!important;
}
.iiec-popup-card-fact:last-child{border-bottom:0!important}
.iiec-popup-card-fact dt{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  font-size:14px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  color:#2c67aa!important;
}
.iiec-popup-card-fact dt img{width:24px!important;height:24px!important;object-fit:contain!important}
.iiec-popup-card-fact dd{
  min-width:0!important;
  margin:0!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1.15!important;
  overflow-wrap:anywhere!important;
  color:#173b61!important;
}
.iiec-day-modal-event-redesign .iiec-day-modal-event-link{
  grid-area:button!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:72px!important;
  margin:0!important;
  padding:14px 28px!important;
  align-self:end!important;
  border-radius:999px!important;
  background:#173b61!important;
  color:#fff!important;
  font-size:23px!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:0 5px 0 #0d2747!important;
}
@media(max-width:900px){
  .iiec-day-modal-dialog{height:auto!important;max-height:calc(100vh - 24px)!important;overflow:auto!important}
  .iiec-day-modal-card-content{height:auto!important}
  .iiec-day-modal-header{padding:24px 64px 18px!important}
  .iiec-day-modal-title{font-size:36px!important;white-space:normal!important}
  .iiec-day-modal-events{padding:20px 30px 30px!important;overflow:visible!important}
  .iiec-popup-card-body{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important;grid-template-areas:"aside" "details" "button"!important;height:auto!important;gap:24px!important}
  .iiec-popup-card-aside{grid-template-columns:minmax(220px,320px) 1fr!important;grid-template-rows:auto!important;overflow:visible!important}
  .iiec-day-modal-event-media.iiec-popup-card-image{height:auto!important;min-height:220px!important}
}
@media(max-width:620px){
  .iiec-day-modal{padding:8px!important}
  .iiec-day-modal-header{padding:20px 52px 16px!important}
  .iiec-day-modal-title{font-size:30px!important}
  .iiec-day-modal-close{top:12px!important;right:12px!important;width:42px!important;height:42px!important;min-width:42px!important}
  .iiec-day-modal-events{padding:16px 18px 24px!important}
  .iiec-popup-card-aside{grid-template-columns:1fr!important}
  .iiec-popup-session-row{grid-template-columns:1fr!important;gap:4px!important}
  .iiec-popup-session-time{text-align:left!important;white-space:normal!important}
  .iiec-popup-card-fact{grid-template-columns:90px minmax(0,1fr)!important}
  .iiec-day-modal-event-redesign .iiec-day-modal-event-link{font-size:19px!important}
}

/* ==========================================================================\n   3.0.0-dev.38 - isolated popup composition\n   Uses unique v3 classes so legacy popup rules cannot constrain the layout.\n   ========================================================================== */
.iiec-day-modal-dialog {
  width: min(1320px, calc(100vw - 32px)) !important;
  height: min(820px, calc(100vh - 32px)) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  overflow: hidden !important;
}
.iiec-day-modal-card-content {
  display: grid !important;
  grid-template-rows: 145px minmax(0, 1fr) !important;
  width: 100% !important;
  height: 100% !important;
}
.iiec-day-modal-header {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 145px !important;
  padding: 18px 110px 14px !important;
  border-bottom: 2px solid #d95069 !important;
}
.iiec-day-modal-header > div:first-child {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  text-align: center !important;
}
.iiec-day-modal-title {
  max-width: 100% !important;
  font-size: clamp(38px, 4.5vw, 60px) !important;
  line-height: .98 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.iiec-day-modal-events {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 24px 72px 22px !important;
  overflow: hidden !important;
}
.iiec-popup-v3 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr) !important;
  grid-template-rows: minmax(0, 1fr) 64px !important;
  grid-template-areas: "left right" "button button" !important;
  column-gap: 72px !important;
  row-gap: 14px !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.iiec-popup-v3-left {
  grid-area: left !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding-top: 4px !important;
}
.iiec-popup-v3-type {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 14px !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #d64970 !important;
}
.iiec-popup-v3-type img {
  width: 40px !important;
  height: 48px !important;
  object-fit: contain !important;
}
.iiec-popup-v3-title {
  margin: 0 0 22px !important;
  font-size: clamp(34px, 3vw, 48px) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -.025em !important;
  color: #173b61 !important;
}
.iiec-popup-v3-sessions-title {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 12px !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: #2d69aa !important;
}
.iiec-popup-v3-sessions-title::before {
  content: "◷" !important;
  font-size: 30px !important;
  line-height: 1 !important;
}
.iiec-popup-v3-sessions {
  display: grid !important;
  gap: 9px !important;
  width: 100% !important;
  max-height: none !important;
  padding: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.iiec-popup-v3-session {
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 56px !important;
  padding: 8px 18px !important;
  border: 1px solid rgba(40, 78, 110, .18) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.62) !important;
}
.iiec-popup-v3-session-label {
  font-size: 16px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  color: #2d69aa !important;
}
.iiec-popup-v3-session-time {
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  text-align: right !important;
  white-space: nowrap !important;
  color: #173b61 !important;
}
.iiec-popup-v3-right {
  grid-area: right !important;
  display: grid !important;
  grid-template-rows: 260px auto !important;
  gap: 18px !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
.iiec-popup-v3-image {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 260px !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.56) !important;
  box-shadow: 0 10px 24px rgba(23,59,97,.14) !important;
}
.iiec-popup-v3-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
}
.iiec-popup-v3-image .dashicons {
  width: auto !important;
  height: auto !important;
  font-size: 80px !important;
  color: #6b8296 !important;
}
.iiec-popup-v3-facts {
  display: grid !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.56) !important;
}
.iiec-popup-v3-fact {
  display: grid !important;
  grid-template-columns: 125px minmax(0,1fr) !important;
  gap: 18px !important;
  align-items: center !important;
  min-height: 48px !important;
  border-bottom: 1px solid rgba(50,78,104,.25) !important;
}
.iiec-popup-v3-fact:last-child { border-bottom: 0 !important; }
.iiec-popup-v3-fact dt,
.iiec-popup-v3-fact dd {
  margin: 0 !important;
  min-width: 0 !important;
}
.iiec-popup-v3-fact dt {
  font-size: 16px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  color: #2d69aa !important;
}
.iiec-popup-v3-fact dd {
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  color: #173b61 !important;
}
.iiec-popup-v3-button {
  grid-area: button !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 10px 26px !important;
  border-radius: 999px !important;
  background: #173b61 !important;
  box-shadow: 0 6px 0 #0d2747 !important;
  color: #fff !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}
@media (max-width: 980px) {
  .iiec-day-modal-dialog { height: auto !important; max-height: calc(100vh - 24px) !important; overflow-y: auto !important; }
  .iiec-day-modal-card-content { grid-template-rows: auto auto !important; height: auto !important; }
  .iiec-day-modal-header { height: auto !important; min-height: 150px !important; padding: 26px 80px 20px !important; }
  .iiec-day-modal-events { height: auto !important; padding: 30px 42px 38px !important; overflow: visible !important; }
  .iiec-popup-v3 { grid-template-columns: 1fr !important; grid-template-rows: auto auto 72px !important; grid-template-areas: "right" "left" "button" !important; height: auto !important; gap: 28px !important; }
  .iiec-popup-v3-right { grid-template-columns: minmax(260px, 360px) minmax(0,1fr) !important; grid-template-rows: auto !important; }
  .iiec-popup-v3-image { min-height: 260px !important; }
}
@media (max-width: 640px) {
  .iiec-day-modal-header { min-height: 126px !important; padding: 22px 54px 16px !important; }
  .iiec-day-modal-title { font-size: 32px !important; }
  .iiec-day-modal-events { padding: 22px 20px 30px !important; }
  .iiec-popup-v3-right { grid-template-columns: 1fr !important; }
  .iiec-popup-v3-session { grid-template-columns: 1fr !important; gap: 5px !important; }
  .iiec-popup-v3-session-time { text-align: left !important; white-space: normal !important; }
  .iiec-popup-v3-fact { grid-template-columns: 110px minmax(0,1fr) !important; }
}

/* 3.0.0-dev.41 — final popup polish: true square artwork + compact CTA + solid close */
.iiec-popup-v3-right {
  justify-items: center !important;
}
.iiec-popup-v3-image {
  width: 260px !important;
  height: 260px !important;
  min-width: 260px !important;
  min-height: 260px !important;
  max-width: 260px !important;
  max-height: 260px !important;
  aspect-ratio: 1 / 1 !important;
  justify-self: center !important;
}
.iiec-popup-v3-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.iiec-popup-v3-facts {
  width: 100% !important;
  box-sizing: border-box !important;
}
.iiec-popup-v3-button {
  width: min(760px, 72%) !important;
  min-height: 54px !important;
  justify-self: center !important;
  padding: 8px 24px !important;
  font-size: 19px !important;
}
.iiec-day-modal-close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #d93662 !important;
  border: 2px solid #d93662 !important;
  color: #fff !important;
  box-shadow: 0 4px 0 rgba(126, 24, 55, .35) !important;
}
.iiec-day-modal-close:hover,
.iiec-day-modal-close:focus,
.iiec-day-modal-close:focus-visible {
  background: #bd274f !important;
  border-color: #bd274f !important;
  color: #fff !important;
}
.iiec-day-modal-close .dashicons,
.iiec-day-modal-close::before {
  color: #fff !important;
}
@media (max-width: 980px) {
  .iiec-popup-v3-image {
    width: min(300px, 100%) !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 300px !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
  }
  .iiec-popup-v3-button {
    width: min(620px, 88%) !important;
  }
}
@media (max-width: 640px) {
  .iiec-popup-v3-image {
    width: min(280px, 100%) !important;
    max-width: 280px !important;
  }
  .iiec-popup-v3-button {
    width: 100% !important;
  }
}

/* 3.0.0-dev.42 — mobile popup card grows with its complete content. */
@media (max-width: 640px) {
  .iiec-day-modal {
    align-items: flex-start !important;
    justify-content: center !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 12px !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .iiec-day-modal-dialog {
    width: 100% !important;
    height: auto !important;
    min-height: calc(100dvh - 24px) !important;
    max-height: none !important;
    margin: 0 auto 18px !important;
    overflow: visible !important;
  }
  .iiec-day-modal-card-art {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    object-fit: fill !important;
    object-position: center top !important;
  }
  .iiec-day-modal-card-content {
    width: 100% !important;
    height: auto !important;
    min-height: calc(100dvh - 24px) !important;
    overflow: visible !important;
  }
  .iiec-day-modal-events,
  .iiec-popup-v3,
  .iiec-popup-v3-left,
  .iiec-popup-v3-right,
  .iiec-popup-v3-sessions {
    max-height: none !important;
    overflow: visible !important;
  }
  .iiec-popup-v3 {
    padding-bottom: 28px !important;
  }
}

/* 3.0.0-dev.43 — iOS mobile modal has one authoritative vertical scroller. */
@media (max-width: 640px) {
  .iiec-day-modal {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: none !important;
    padding: 12px 12px calc(96px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: scroll !important;
    overscroll-behavior-y: contain !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
  }

  .iiec-day-modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
  }

  .iiec-day-modal-dialog {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
    overflow: visible !important;
    transform: none !important;
    contain: none !important;
  }

  .iiec-day-modal-card-content,
  .iiec-day-modal-events,
  .iiec-popup-v3,
  .iiec-popup-v3-left,
  .iiec-popup-v3-right,
  .iiec-popup-v3-sessions {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    overscroll-behavior: auto !important;
    touch-action: auto !important;
  }

  .iiec-day-modal-card-art {
    height: 100% !important;
    min-height: 100% !important;
  }

  .iiec-popup-v3 {
    padding-bottom: 32px !important;
  }
}

/* 3.0.0-dev.44 — Calendar event tiles show icon, event name, and session count. */
.iiec-calendar-v2 .iiec-calendar-event-summary {
	position: absolute;
	inset: 24px 5px 4px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 0;
	text-align: center;
	pointer-events: none;
}

.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
	position: relative;
	top: auto;
	left: auto;
	flex: 0 0 auto;
	width: clamp(34px, 3.1vw, 50px);
	height: clamp(34px, 3.1vw, 50px);
	margin: 0 0 2px;
	transform: none !important;
	animation: none !important;
}

.iiec-calendar-v2 .iiec-calendar-event-name {
	display: -webkit-box;
	max-width: 100%;
	overflow: hidden;
	color: #173f72;
	font-size: clamp(9px, 0.72vw, 12px);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: -0.01em;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.iiec-calendar-v2 .iiec-calendar-event-session-count {
	display: block;
	max-width: 100%;
	margin-top: 2px;
	overflow: hidden;
	color: #755333;
	font-size: clamp(8px, 0.62vw, 10px);
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-more {
	right: 0;
	bottom: 0;
}

.iiec-calendar-v2 .iiec-calendar-day-trigger:hover .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap,
.iiec-calendar-v2 .iiec-calendar-day-trigger:focus-visible .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
	transform: scale(1.06) !important;
}

@media screen and (max-width: 560px) {
	.iiec-calendar-v2 .iiec-calendar-event-summary {
		inset: 20px 2px 2px;
		justify-content: flex-start;
	}

	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
		width: 30px;
		height: 30px;
		margin-bottom: 1px;
	}

	.iiec-calendar-v2 .iiec-calendar-event-name {
		font-size: 8px;
		line-height: 1;
		-webkit-line-clamp: 1;
	}

	.iiec-calendar-v2 .iiec-calendar-event-session-count {
		margin-top: 1px;
		font-size: 7px;
	}
}

/* 3.0.0-dev.45 — Compact calendar tiles with a top-right icon and readable copy. */
.iiec-calendar-v2 .iiec-calendar-event-summary {
	inset: 22px 5px 4px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) clamp(28px, 2.7vw, 42px);
	grid-template-rows: 1fr auto auto;
	column-gap: 3px;
	row-gap: 1px;
	align-items: end;
	justify-items: stretch;
	text-align: left;
}

.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
	position: absolute;
	top: 1px;
	right: 1px;
	left: auto;
	width: clamp(28px, 2.7vw, 42px);
	height: clamp(28px, 2.7vw, 42px);
	margin: 0;
	z-index: 2;
}

.iiec-calendar-v2 .iiec-calendar-event-name {
	grid-column: 1 / -1;
	grid-row: 2;
	display: -webkit-box;
	width: 100%;
	padding-right: 1px;
	font-size: clamp(8px, 0.66vw, 11px);
	line-height: 1.02;
	-webkit-line-clamp: 2;
}

.iiec-calendar-v2 .iiec-calendar-event-session-count {
	grid-column: 1 / -1;
	grid-row: 3;
	width: 100%;
	margin-top: 1px;
	font-size: clamp(7px, 0.56vw, 9px);
	line-height: 1;
}

.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-more {
	right: -2px;
	bottom: -2px;
}

.iiec-calendar-v2 .iiec-calendar-day-trigger:hover .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap,
.iiec-calendar-v2 .iiec-calendar-day-trigger:focus-visible .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
	transform: scale(1.05) !important;
}

@media screen and (max-width: 980px) and (min-width: 561px) {
	.iiec-calendar-v2 .iiec-calendar-event-summary {
		inset: 20px 3px 3px;
		grid-template-columns: minmax(0, 1fr) 30px;
	}

	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
		width: 30px;
		height: 30px;
	}

	.iiec-calendar-v2 .iiec-calendar-event-name {
		font-size: 8px;
	}

	.iiec-calendar-v2 .iiec-calendar-event-session-count {
		font-size: 7px;
	}
}

@media screen and (max-width: 560px) {
	.iiec-calendar-v2 .iiec-calendar-event-summary {
		inset: 17px 2px 2px;
		grid-template-columns: minmax(0, 1fr) 19px;
		grid-template-rows: 1fr auto auto;
		column-gap: 1px;
		row-gap: 0;
		align-items: end;
		text-align: left;
	}

	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
		top: 0;
		right: 0;
		width: 19px;
		height: 19px;
	}

	.iiec-calendar-v2 .iiec-calendar-event-name {
		font-size: 6.5px;
		line-height: .98;
		letter-spacing: -0.02em;
		-webkit-line-clamp: 2;
	}

	.iiec-calendar-v2 .iiec-calendar-event-session-count {
		margin-top: 1px;
		font-size: 6px;
		line-height: .95;
	}

	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-more {
		min-width: 13px;
		height: 13px;
		padding: 0 2px;
		font-size: 6px;
		border-width: 1px;
	}
}

/* 3.0.0-dev.47 — enlarge popup artwork and lower the right-side details/CTA on desktop. */
@media (min-width: 981px) {
  .iiec-popup-v3 {
    grid-template-columns: minmax(0, 1fr) minmax(400px, .98fr) !important;
    grid-template-rows: minmax(0, 1fr) 54px !important;
    column-gap: 64px !important;
    row-gap: 10px !important;
  }

  .iiec-popup-v3-right {
    grid-template-rows: 310px auto !important;
    align-content: start !important;
    gap: 28px !important;
    padding-top: 0 !important;
  }

  .iiec-popup-v3-image {
    width: 310px !important;
    height: 310px !important;
    min-width: 310px !important;
    min-height: 310px !important;
    max-width: 310px !important;
    max-height: 310px !important;
    aspect-ratio: 1 / 1 !important;
  }

  .iiec-popup-v3-facts {
    margin-top: 8px !important;
  }

  .iiec-popup-v3-button {
    width: min(700px, 66%) !important;
    min-height: 50px !important;
    align-self: end !important;
    transform: translateY(10px) !important;
    padding: 7px 22px !important;
    font-size: 18px !important;
  }
}


/* 3.0.0-dev.53 — Studio-authored month plate, visible native date layer, and navigation bindings. */
.iiec-studio-month-plate {
	position: relative;
}

.iiec-active-month-plate-label {
	position: absolute !important;
	z-index: 214 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 14% 10%;
	color: #fff;
	font-family: "Lucky Guy", "Luckiest Guy", "Lilita One", "Arial Rounded MT Bold", sans-serif;
	font-size: clamp(18px, 3.15vw, 54px);
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: 0.035em;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	pointer-events: none;
	-webkit-text-stroke: clamp(1px, 0.16vw, 3px) #252c3e;
	paint-order: stroke fill;
	text-shadow: 0 3px 0 #252c3e, 0 6px 8px rgba(0, 0, 0, 0.3);
}

.iiec-active-month-plate-label[hidden] {
	display: none !important;
}

.iiec-studio-month-control {
	cursor: pointer;
	touch-action: manipulation;
	pointer-events: auto !important;
}

.iiec-studio-month-control:focus-visible {
	outline: 4px solid #fff3a6;
	outline-offset: 4px;
}

.iiec-studio-month-control:hover {
	filter: brightness(1.08);
}

.iiec-studio-month-control:active {
	transform: scale(0.96);
}


/* 3.0.0-dev.54 - Calendar uses the same full content-plane background contract as other Studio pages. */
.ii-site-global-content-plane.iiec-has-calendar-page-background {
	background-image: var(--iiec-calendar-page-background) !important;
	background-repeat: no-repeat !important;
	background-position: center top !important;
	background-size: cover !important;
	background-color: transparent !important;
}
body.iiec-calendar-document .ii-site-global-content-plane,
body.iiec-calendar-document .ii-site-global-content-end {
	background-color: transparent !important;
}
.iiec-calendar-v2-page-background {
	/* Keep the replaceable IMG out of page geometry; the content plane below is the cover surface. */
	width: 1px !important;
	height: 1px !important;
	max-width: 1px !important;
	max-height: 1px !important;
	opacity: 0 !important;
}

/* The month label is a functional overlay bound to the protected plate slot.
 * Studio typography may style the glyphs, but generic box controls must never
 * turn the text node into a giant padded geometry owner. */
.iiec-active-month-plate-label {
	position: fixed !important;
	box-sizing: border-box !important;
	padding: 0 7% !important;
	margin: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: none !important;
	border: 0 !important;
	background: transparent !important;
	transform: none !important;
	font-family: "Lucky Guy", "Luckiest Guy", "Lilita One", "Arial Rounded MT Bold", sans-serif !important;
	font-weight: 400 !important;
	white-space: nowrap !important;
	pointer-events: none !important;
}

/* 3.0.0-dev.55 — month text is now a Studio-owned text layer. */
.iiec-active-month-plate-label {
	display: none !important;
}

[data-ii-text-binding="event_calendar.active_month"] {
	overflow: hidden;
}


/* 3.0.0-dev.58 — Event Calendar uses the same shared Site Pages chrome as every other page.
 * Elementor/Hello can still emit its own legacy theme-builder header/footer inside the shared
 * content plane. Those duplicate wrappers are not Studio shared components, so suppress only
 * that legacy chrome and leave .ii-site-header/.ii-site-footer fully intact. */
body.iiec-calendar-document .ii-site-global-content-plane > #site-header.site-header,
body.iiec-calendar-document .ii-site-global-content-plane > header#site-header.dynamic-header,
body.iiec-calendar-document .ii-site-global-content-plane > #site-footer.site-footer,
body.iiec-calendar-document .ii-site-global-content-plane > footer#site-footer.dynamic-footer {
	display: none !important;
}

/* dev.78: public doorway into the completed-event archive. */
.iiec-calendar-archive-cta{position:relative;z-index:6;display:flex;align-items:center;gap:24px;width:min(980px,calc(100% - 36px));margin:34px auto 22px;padding:18px 24px;border:3px solid rgba(255,255,255,.92);border-radius:28px;background:linear-gradient(135deg,rgba(19,99,132,.96),rgba(54,151,145,.96));box-shadow:0 18px 42px rgba(13,67,89,.22);color:#fff;overflow:hidden}.iiec-calendar-archive-cta-art{flex:0 0 150px;width:150px;height:112px;object-fit:cover;border:3px solid rgba(255,255,255,.9);border-radius:20px;box-shadow:0 8px 24px rgba(0,0,0,.18);transform:rotate(-2deg)}.iiec-calendar-archive-cta-copy{min-width:0}.iiec-calendar-archive-cta-kicker{display:block;margin-bottom:4px;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#dffcff}.iiec-calendar-archive-cta h3{margin:0;font-size:clamp(24px,3vw,36px);line-height:1.02;color:#fff}.iiec-calendar-archive-cta p{max-width:620px;margin:8px 0 14px;font-size:15px;font-weight:700;line-height:1.45;color:rgba(255,255,255,.9)}.iiec-calendar-archive-cta-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:2px solid #fff;border-radius:999px;background:#fff;color:#126b88!important;font-weight:900;text-decoration:none;box-shadow:0 5px 14px rgba(0,0,0,.12)}.iiec-calendar-archive-cta-button:hover,.iiec-calendar-archive-cta-button:focus{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.16)}@media(max-width:720px){.iiec-calendar-archive-cta{align-items:flex-start;gap:15px;width:min(100% - 20px,560px);margin-top:24px;padding:15px;border-radius:22px}.iiec-calendar-archive-cta-art{flex-basis:92px;width:92px;height:92px}.iiec-calendar-archive-cta h3{font-size:23px}.iiec-calendar-archive-cta p{font-size:13px}}

/* ========================================================================== 
   Event Calendar 3.0.0-dev.83 — finished calendar composition
   - A replaceable Calendar Board Artwork layer sits behind the live grid.
   - The Flux2 Klein month board regains a native date fallback if the Studio
     month text layer is deleted.
   - Past Events is a compact, movable top-left control instead of a large
     banner below the calendar.
   ========================================================================== */

/* The calendar artwork can now be one complete decorative board/image. The
 * dates/events remain live HTML above it, so artwork never owns functionality. */
.iiec-calendar-grid-frame[data-ii-component="event_calendar.grid.frame"] {
	display: block;
	box-sizing: border-box;
	width: min(76vw, 1280px);
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: fill;
	object-position: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	user-select: none;
	-webkit-user-drag: none;
}

/* The Studio text layer remains preferred. When it is gone, the plugin puts
 * the dynamic month directly over the known Flux2 Klein month-board artwork. */
.iiec-active-month-plate-label[data-iiec-fallback-active="1"] {
	position: fixed !important;
	z-index: 214 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 7% !important;
	background: transparent !important;
	border: 0 !important;
	color: #fff !important;
	font-family: "Lucky Guy", "Luckiest Guy", "Lilita One", "Arial Rounded MT Bold", sans-serif !important;
	font-size: clamp(18px, 3.15vw, 54px) !important;
	font-weight: 400 !important;
	line-height: .92 !important;
	letter-spacing: .035em !important;
	text-align: center !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	pointer-events: none !important;
	-webkit-text-stroke: clamp(1px, .16vw, 3px) #252c3e !important;
	paint-order: stroke fill !important;
	text-shadow: 0 3px 0 #252c3e, 0 6px 8px rgba(0,0,0,.3) !important;
	transform: none !important;
}

/* Avoid duplicate dates when either a Studio month text layer or the Flux
 * fallback owns the visible month presentation. The Month Display component
 * itself remains in Studio as a safe final fallback / geometry handle. */
.iiec-calendar-v2.iiec-month-owned-by-studio-text .iiec-calendar-heading h2,
.iiec-calendar-v2.iiec-month-owned-by-flux-fallback .iiec-calendar-heading h2 {
	opacity: 0 !important;
}

/* Past-events doorway: top-left, compact, and movable as a first-class Studio
 * component. The full old promotional banner content is retained in the DOM
 * and property system, but the default presentation is intentionally simple. */
.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
	position: absolute;
	top: 24px;
	left: 24px;
	z-index: 80;
	display: block;
	box-sizing: border-box;
	width: 300px;
	max-width: calc(100% - 48px);
	margin: 0;
	padding: 0;
	color: #fff;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}

.iiec-calendar-archive-cta-inner {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-height: 70px;
	padding: 13px 17px 12px;
	background: rgba(18, 107, 136, .94);
	border: 3px solid rgba(255,255,255,.94);
	border-radius: 18px;
	box-shadow: 0 8px 18px rgba(13,67,89,.22);
	overflow: hidden;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-art,
.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-kicker,
.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-copy > p {
	display: none;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-copy {
	position: static;
	display: block;
	min-width: 0;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] h3 {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 0;
	color: #fff;
	font-family: "Luckiest Guy", "Lilita One", "Arial Rounded MT Bold", sans-serif;
	font-size: clamp(17px, 1.25vw, 22px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: .01em;
	text-shadow: 0 2px 0 rgba(0,72,120,.45);
	pointer-events: none;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-button {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	padding: 0;
	margin: 0;
	background: transparent;
	border: 0;
	border-radius: inherit;
	box-shadow: none;
	color: transparent !important;
	font-size: 0;
	text-indent: -9999px;
	overflow: hidden;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"]:hover .iiec-calendar-archive-cta-inner,
.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"]:focus-within .iiec-calendar-archive-cta-inner {
	filter: brightness(1.06);
	transform: translateY(-1px);
	box-shadow: 0 11px 22px rgba(13,67,89,.28);
}

@media (max-width: 900px) {
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
		top: 12px;
		left: 12px;
		width: 220px;
		max-width: calc(100% - 24px);
	}
	.iiec-calendar-archive-cta-inner {
		min-height: 58px;
		padding: 10px 13px;
		border-width: 2px;
		border-radius: 15px;
	}
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] h3 {
		font-size: 16px;
	}
}

@media (max-width: 700px) {
	/* Keep the default built-in arrows below the compact top-left archive link.
	 * Studio-authored left-button/right-button geometry remains independent. */
	.iiec-calendar-v2-shell > .iiec-calendar-navigation {
		top: 82px;
	}
	.iiec-calendar-grid-frame[data-ii-component="event_calendar.grid.frame"] {
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		object-fit: fill !important;
	}
}

@media (max-width: 480px) {
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
		top: 8px;
		left: 8px;
		width: 176px;
		max-width: calc(100% - 16px);
	}
	.iiec-calendar-archive-cta-inner {
		min-height: 50px;
		padding: 9px 11px 8px;
		border-radius: 13px;
	}
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] h3 {
		font-size: 13.5px;
		line-height: 1.06;
	}
}


/* Event Calendar 3.0.0-dev.84: simplified shell reset for a clean public calendar. */
.iiec-calendar.iiec-calendar-v2 {
	position: relative;
	isolation: isolate;
	width: min(100%, 1440px) !important;
	margin: 0 auto !important;
	padding: 22px clamp(16px, 2vw, 28px) 44px !important;
	box-sizing: border-box;
}

.iiec-calendar-v2 .iiec-active-month-plate-label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.iiec-calendar-v2 .iiec-calendar-v2-page-background {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center top !important;
	border-radius: 28px !important;
}

.iiec-calendar-v2 .iiec-calendar-v2-shell {
	width: min(1180px, 100%) !important;
	margin: 92px auto 0 !important;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
	position: absolute;
	top: 24px;
	left: 24px;
	z-index: 45;
	width: min(340px, calc(100% - 48px));
	margin: 0;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-inner {
	display: grid;
	grid-template-columns: 82px 1fr;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	background: rgba(255,255,255,0.94);
	border: 3px solid rgba(26, 119, 189, 0.18);
	border-radius: 22px;
	box-shadow: 0 16px 38px rgba(19, 77, 126, 0.18);
	backdrop-filter: blur(5px);
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-art {
	width: 82px;
	height: 82px;
	object-fit: cover;
	border-radius: 18px;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-kicker {
	display: block;
	margin-bottom: 4px;
	color: #1875c0;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] h3 {
	margin: 0 0 6px;
	color: #113a60;
	font-size: clamp(18px, 1.4vw, 24px);
	line-height: 1.08;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-copy > p {
	margin: 0 0 10px;
	color: #355975;
	font-size: 13px;
	line-height: 1.35;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	color: #fff;
	background: linear-gradient(180deg, #43a7ff 0%, #1f79d1 100%);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 900;
	text-decoration: none;
	box-shadow: 0 8px 18px rgba(31, 121, 209, 0.28);
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-button:hover,
.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-button:focus-visible {
	filter: brightness(1.05);
	transform: translateY(-1px);
}

@media (max-width: 980px) {
	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		margin-top: 124px !important;
	}
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
		width: min(320px, calc(100% - 40px));
	}
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-inner {
		grid-template-columns: 68px 1fr;
		padding: 14px 16px;
	}
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-art {
		width: 68px;
		height: 68px;
	}
}

@media (max-width: 700px) {
	.iiec-calendar.iiec-calendar-v2 {
		padding-top: 18px !important;
	}
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		margin: 0 0 16px;
	}
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-inner {
		grid-template-columns: 56px 1fr;
		border-radius: 18px;
	}
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-art {
		width: 56px;
		height: 56px;
		border-radius: 14px;
	}
	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		margin-top: 0 !important;
	}
}


/* Event Calendar 3.0.0-dev.85: polished public layout with visible title, cleaner month chip,
   and a readable Past Events link. */
.iiec-calendar.iiec-calendar-v2 {
	padding: 26px clamp(18px, 2vw, 30px) 48px !important;
}

.iiec-calendar-page-heading {
	position: relative;
	z-index: 60;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	max-width: 760px;
	margin: 0 auto 12px;
	padding: 6px 20px 0;
	text-align: center;
}

.iiec-calendar-page-heading-kicker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(255,255,255,0.92);
	color: #1778c9;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	box-shadow: 0 6px 18px rgba(14, 70, 113, 0.16);
}

.iiec-calendar-page-title {
	margin: 0;
	color: #fff;
	font-family: "Lucky Guy", "Luckiest Guy", "Lilita One", "Arial Rounded MT Bold", sans-serif;
	font-size: clamp(42px, 5vw, 74px);
	font-weight: 400;
	line-height: 0.95;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	-webkit-text-stroke: clamp(1px, 0.16vw, 3px) #16487f;
	paint-order: stroke fill;
	text-shadow: 0 4px 0 #16487f, 0 10px 22px rgba(10, 66, 110, 0.32);
}

.iiec-calendar-page-subtitle {
	max-width: 580px;
	margin: 0;
	color: rgba(255,255,255,0.98);
	font-size: clamp(14px, 1.2vw, 18px);
	font-weight: 800;
	line-height: 1.35;
	text-shadow: 0 2px 10px rgba(10, 52, 82, 0.28);
}

.iiec-calendar-v2 .iiec-calendar-v2-shell {
	margin-top: 38px !important;
}

.iiec-calendar-v2-shell > .iiec-calendar-heading {
	z-index: 42;
	top: -28px;
	width: auto;
	height: auto;
	padding: 12px 24px 10px;
	border: 3px solid rgba(255,255,255,0.95);
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(41,153,236,0.98) 0%, rgba(25,114,200,0.98) 100%);
	box-shadow: 0 12px 24px rgba(18, 80, 127, 0.26);
	transform: translateX(-50%);
}

.iiec-calendar-v2-shell > .iiec-calendar-heading h2 {
	padding: 0;
	color: #fff;
	font-family: "Lucky Guy", "Luckiest Guy", "Lilita One", "Arial Rounded MT Bold", sans-serif;
	font-size: clamp(22px, 2.2vw, 34px);
	letter-spacing: 0.03em;
	text-shadow: 0 2px 0 rgba(15,79,136,0.6), 0 5px 10px rgba(7,48,85,0.2);
}

.iiec-calendar-v2-shell > .iiec-calendar-navigation {
	z-index: 43;
	top: 2.6%;
	width: clamp(52px, 5.2vw, 72px);
	height: clamp(52px, 5.2vw, 72px);
	border-width: clamp(4px, 0.42vw, 7px);
	box-shadow: 0 4px 0 #86531f, 0 10px 18px rgba(65, 36, 14, 0.24), inset 0 2px 2px rgba(255,255,255,0.45);
}

.iiec-calendar-v2-shell > .iiec-calendar-navigation-previous { left: 10.2%; }
.iiec-calendar-v2-shell > .iiec-calendar-navigation-next { right: 10%; }

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
	top: 38px;
	left: 28px;
	z-index: 61;
	width: min(280px, calc(100% - 56px));
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-inner {
	display: block;
	padding: 14px 16px;
	background: rgba(255,255,255,0.95);
	border: 3px solid rgba(44, 148, 226, 0.18);
	border-radius: 20px;
	box-shadow: 0 12px 26px rgba(19, 77, 126, 0.18);
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-art {
	display: none !important;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-kicker {
	display: block;
	margin-bottom: 6px;
	color: #1a79c3;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] h3 {
	margin: 0 0 6px;
	color: #0f4571;
	font-family: "Lucky Guy", "Luckiest Guy", "Lilita One", "Arial Rounded MT Bold", sans-serif !important;
	font-size: clamp(21px, 1.7vw, 28px);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	text-shadow: none;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-copy > p {
	display: block;
	margin: 0 0 12px;
	color: #3a607f;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-button {
	position: static;
	display: inline-flex;
	width: auto;
	height: auto;
	padding: 8px 12px;
	background: linear-gradient(180deg, #49b0ff 0%, #1f79d1 100%);
	border-radius: 999px;
	box-shadow: 0 8px 18px rgba(31, 121, 209, 0.22);
	color: #fff !important;
	font-size: 12px;
	font-weight: 900;
	text-indent: 0;
	overflow: visible;
}

@media (max-width: 980px) {
	.iiec-calendar-page-heading {
		padding-top: 0;
		margin-bottom: 8px;
	}
	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		margin-top: 96px !important;
	}
	.iiec-calendar-v2-shell > .iiec-calendar-heading {
		top: -24px;
		padding: 10px 20px 9px;
	}
	.iiec-calendar-v2-shell > .iiec-calendar-navigation {
		top: 4.3%;
	}
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
		top: 72px;
		left: 18px;
		width: min(250px, calc(100% - 36px));
	}
}

@media (max-width: 700px) {
	.iiec-calendar-page-title {
		font-size: clamp(34px, 11vw, 56px);
	}
	.iiec-calendar-page-subtitle {
		font-size: 14px;
	}
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		margin: 4px 0 14px;
	}
	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		margin-top: 10px !important;
	}
	.iiec-calendar-v2-shell > .iiec-calendar-heading {
		top: -18px;
	}
	.iiec-calendar-v2-shell > .iiec-calendar-navigation {
		top: 74px;
	}
}


/* Event Calendar 3.0.0-dev.86: fix title/button overlap by giving the header zone
   more breathing room and moving the board/navigation lower. */
.iiec-calendar-page-heading {
	margin: 0 auto 30px;
	padding: 4px 20px 0;
}

.iiec-calendar-v2 .iiec-calendar-v2-shell {
	margin-top: 82px !important;
}

.iiec-calendar-v2-shell > .iiec-calendar-heading {
	top: -32px;
}

.iiec-calendar-v2-shell > .iiec-calendar-navigation {
	top: 6.8%;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
	top: 34px;
}

@media (max-width: 980px) {
	.iiec-calendar-page-heading {
		margin-bottom: 20px;
	}
	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		margin-top: 114px !important;
	}
	.iiec-calendar-v2-shell > .iiec-calendar-navigation {
		top: 8.5%;
	}
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
		top: 86px;
	}
}

@media (max-width: 700px) {
	.iiec-calendar-page-heading {
		margin-bottom: 10px;
	}
	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		margin-top: 18px !important;
	}
	.iiec-calendar-v2-shell > .iiec-calendar-navigation {
		top: 84px;
	}
}


/* Event Calendar 3.0.0-dev.87: correct stacking and spacing so the month chip,
   arrows, and page subtitle do not fight with the board artwork. */
.iiec-calendar-page-heading {
	position: relative;
	z-index: 70;
	margin: 0 auto 52px;
}

.iiec-calendar-page-subtitle {
	max-width: 640px;
}

.iiec-calendar-v2 .iiec-calendar-v2-shell {
	margin-top: 126px !important;
}

.iiec-calendar-grid-frame[data-ii-component="event_calendar.grid.frame"] {
	z-index: 10 !important;
}

.iiec-calendar-v2-content {
	position: relative;
	z-index: 20 !important;
}

.iiec-calendar-v2-shell > .iiec-calendar-heading {
	z-index: 120 !important;
	top: -40px;
}

.iiec-calendar-v2-shell > .iiec-calendar-navigation {
	z-index: 121 !important;
	top: 8.6%;
}

.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
	z-index: 90;
}

@media (max-width: 980px) {
	.iiec-calendar-page-heading {
		margin-bottom: 30px;
	}
	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		margin-top: 134px !important;
	}
	.iiec-calendar-v2-shell > .iiec-calendar-heading {
		top: -32px;
	}
	.iiec-calendar-v2-shell > .iiec-calendar-navigation {
		top: 10.2%;
	}
}

@media (max-width: 700px) {
	.iiec-calendar-page-heading {
		margin-bottom: 14px;
	}
	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		margin-top: 24px !important;
	}
	.iiec-calendar-v2-shell > .iiec-calendar-heading {
		top: -20px;
	}
	.iiec-calendar-v2-shell > .iiec-calendar-navigation {
		top: 90px;
	}
}


/* Event Calendar 3.0.0-dev.88: authoritative month-navigation row.
   Month text and arrows are renderer-owned, share one flex row, and are no
   longer repositioned by stale Studio geometry. */
.iiec-calendar-v2 .iiec-calendar-v2-shell {
	position: relative !important;
	width: min(1180px, 100%) !important;
	aspect-ratio: 3 / 2 !important;
	margin-top: 118px !important;
}

.iiec-calendar-v2 .iiec-calendar-month-controls {
	position: absolute !important;
	z-index: 130 !important;
	top: -102px !important;
	left: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: clamp(14px, 1.7vw, 24px) !important;
	width: min(760px, calc(100% - 32px)) !important;
	height: 82px !important;
	transform: translateX(-50%) !important;
	pointer-events: none;
}

.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-heading {
	position: relative !important;
	z-index: 131 !important;
	top: auto !important;
	left: auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 1 520px !important;
	width: clamp(420px, 42vw, 520px) !important;
	min-width: 0 !important;
	height: 80px !important;
	min-height: 80px !important;
	max-height: 80px !important;
	margin: 0 !important;
	padding: 10px 28px !important;
	overflow: visible !important;
	translate: none !important;
	transform: none !important;
	background: linear-gradient(180deg, rgba(41,153,236,.98) 0%, rgba(25,114,200,.98) 100%) !important;
	border: 4px solid rgba(255,255,255,.96) !important;
	border-radius: 999px !important;
	box-shadow: 0 12px 24px rgba(18,80,127,.26) !important;
	box-sizing: border-box !important;
	pointer-events: none !important;
}

.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-heading h2 {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	color: #fff !important;
	font-family: "Lucky Guy", "Luckiest Guy", "Lilita One", "Arial Rounded MT Bold", sans-serif !important;
	font-size: clamp(24px, 2.1vw, 36px) !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: .02em !important;
	text-align: center !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	text-shadow: 0 2px 0 rgba(15,79,136,.6), 0 5px 10px rgba(7,48,85,.2) !important;
}

.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-navigation {
	position: relative !important;
	z-index: 132 !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 72px !important;
	width: 72px !important;
	height: 72px !important;
	min-width: 72px !important;
	min-height: 72px !important;
	margin: 0 !important;
	padding: 0 !important;
	translate: none !important;
	transform: none !important;
	pointer-events: auto !important;
}

.iiec-calendar-v2 .iiec-calendar-grid-frame[data-iiec-calendar-board] {
	position: absolute !important;
	z-index: 10 !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: fill !important;
	transform: none !important;
	translate: none !important;
	pointer-events: none !important;
}

@media (max-width: 900px) {
	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		margin-top: 104px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-month-controls {
		top: -92px !important;
		height: 72px !important;
		gap: 12px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-heading {
		flex-basis: 430px !important;
		width: min(430px, calc(100% - 136px)) !important;
		height: 70px !important;
		min-height: 70px !important;
		max-height: 70px !important;
		padding: 8px 18px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-navigation {
		flex-basis: 58px !important;
		width: 58px !important;
		height: 58px !important;
		min-width: 58px !important;
		min-height: 58px !important;
	}
}

@media (max-width: 560px) {
	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		margin-top: 88px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-month-controls {
		top: -78px !important;
		width: calc(100% - 12px) !important;
		height: 62px !important;
		gap: 7px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-heading {
		flex: 1 1 auto !important;
		width: auto !important;
		height: 60px !important;
		min-height: 60px !important;
		max-height: 60px !important;
		padding: 7px 10px !important;
		border-width: 3px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-heading h2 {
		font-size: clamp(18px, 5.2vw, 25px) !important;
	}
	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-navigation {
		flex-basis: 48px !important;
		width: 48px !important;
		height: 48px !important;
		min-width: 48px !important;
		min-height: 48px !important;
	}
}


/* Event Calendar 3.0.0-dev.89: board/grid reliability pass.
   - The frame is a shell background, so it can never cover the live grid.
   - Grid geometry remains the only authored calendar surface besides Past Events.
   - Previous/next month abbreviations are accessibility-only, not visible copy.
   - The scenic island background replaces the temporary circle placeholder. */
.iiec-calendar-v2 .iiec-calendar-v2-shell {
	background-image: var(--iiec-calendar-board-image) !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: 100% 100% !important;
}

.iiec-calendar-v2 .iiec-calendar-grid-frame,
.iiec-calendar-v2 .iiec-calendar-grid-frame[data-iiec-calendar-board] {
	display: none !important;
}

.iiec-calendar-v2 .iiec-calendar-navigation-label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Native fallback still needs to look correct if Studio is intentionally disabled.
   These dimensions match the parchment opening inside calendar-frame.png. */
.iiec-calendar-v2 .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] {
	position: absolute;
	z-index: 20;
	top: 10.2%;
	right: 7%;
	bottom: 13%;
	left: 7.2%;
	width: auto;
	height: auto;
	min-width: 0;
	min-height: 0;
	margin: 0;
}

.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport {
	width: 100% !important;
	height: 100% !important;
}

@media (max-width: 900px) {
	.iiec-calendar-v2 .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] {
		top: 10.5%;
		right: 6.5%;
		bottom: 12.5%;
		left: 6.7%;
	}
}


/* ========================================================================== 
   Event Calendar 3.0.0-dev.90 — final calendar readability/alignment pass
   - Public grid geometry is anchored to the actual parchment opening.
   - Saved Studio x/y/width/height can no longer pull the live grid off-center.
   - Day typography is calmer and more readable.
   - Event summaries sit on small opaque cards so grid rules never cross copy.
   - Popup text receives a parchment mask so cue-card rules never cross text.
   ========================================================================== */

/* The board PNG has an almost perfectly symmetrical parchment opening.
 * Make this the public source of truth instead of old Studio geometry. */
.iiec-calendar-v2 .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] {
	position: absolute !important;
	z-index: 20 !important;
	top: 10.7% !important;
	right: 7.05% !important;
	bottom: 12.8% !important;
	left: 7.05% !important;
	display: grid !important;
	grid-template-rows: 17.5% minmax(0, 1fr) !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	translate: none !important;
	transform: none !important;
	box-sizing: border-box !important;
	overflow: visible !important;
}

.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport,
.iiec-calendar-v2 .iiec-calendar-month-panel,
.iiec-calendar-v2 .iiec-calendar-weekdays,
.iiec-calendar-v2 .iiec-calendar-grid {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
}

.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport,
.iiec-calendar-v2 .iiec-calendar-month-panel {
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
}

.iiec-calendar-v2 .iiec-calendar-weekdays {
	box-sizing: border-box !important;
	align-items: end !important;
	padding: 0 0 11px !important;
}

.iiec-calendar-v2 .iiec-calendar-weekday {
	padding: 0 3px !important;
	color: #3d2617 !important;
	font-family: "Luckiest Guy", "Arial Rounded MT Bold", "Trebuchet MS", sans-serif !important;
	font-size: clamp(12px, 1.1vw, 16px) !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: .035em !important;
	text-align: center !important;
	text-shadow: 0 1px 0 rgba(255,255,255,.65) !important;
}

.iiec-calendar-v2 .iiec-calendar-grid {
	box-sizing: border-box !important;
	grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
	grid-template-rows: repeat(6, minmax(0, 1fr)) !important;
	height: 100% !important;
	border-color: rgba(135, 89, 42, .25) !important;
	background: rgba(255, 250, 232, .035) !important;
}

.iiec-calendar-v2 .iiec-calendar-day {
	box-sizing: border-box !important;
	padding: clamp(5px, .55vw, 8px) !important;
	border-color: rgba(135, 89, 42, .25) !important;
	background: rgba(255, 250, 232, .035) !important;
}

.iiec-calendar-v2 .iiec-calendar-date,
.iiec-calendar-v2 .iiec-calendar-day-trigger {
	position: relative !important;
	display: flex !important;
	align-items: flex-start !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	padding: 0 !important;
}

.iiec-calendar-v2 .iiec-calendar-date-number {
	position: relative !important;
	z-index: 4 !important;
	width: clamp(21px, 1.8vw, 28px) !important;
	height: clamp(21px, 1.8vw, 28px) !important;
	color: #382317 !important;
	font-family: "Trebuchet MS", "Arial Rounded MT Bold", sans-serif !important;
	font-size: clamp(13px, 1.25vw, 18px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: -.02em !important;
}

.iiec-calendar-v2 .iiec-calendar-day-outside .iiec-calendar-date-number {
	color: rgba(90, 65, 42, .28) !important;
}

/* Compact event cards. Their opaque surface prevents the calendar rule from
 * visually cutting through an event name or session count. */
.iiec-calendar-v2 .iiec-calendar-event-summary {
	position: absolute !important;
	z-index: 3 !important;
	top: clamp(31px, 2.7vw, 39px) !important;
	right: 5px !important;
	bottom: 5px !important;
	left: 5px !important;
	display: grid !important;
	grid-template-columns: clamp(27px, 2.45vw, 36px) minmax(0, 1fr) !important;
	grid-template-rows: auto auto !important;
	column-gap: clamp(4px, .45vw, 7px) !important;
	row-gap: 1px !important;
	align-content: center !important;
	align-items: center !important;
	box-sizing: border-box !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: clamp(4px, .45vw, 7px) !important;
	overflow: hidden !important;
	border: 1px solid rgba(153, 106, 55, .28) !important;
	border-radius: clamp(7px, .7vw, 10px) !important;
	background: rgba(255, 250, 235, .94) !important;
	box-shadow: 0 2px 5px rgba(91, 56, 28, .08) !important;
	text-align: left !important;
	pointer-events: none !important;
}

.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	grid-column: 1 !important;
	grid-row: 1 / span 2 !important;
	align-self: center !important;
	justify-self: center !important;
	width: clamp(27px, 2.45vw, 36px) !important;
	height: clamp(27px, 2.45vw, 36px) !important;
	margin: 0 !important;
}

.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

.iiec-calendar-v2 .iiec-calendar-event-name {
	grid-column: 2 !important;
	grid-row: 1 !important;
	display: -webkit-box !important;
	align-self: end !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	color: #144b80 !important;
	font-family: "Trebuchet MS", "Arial Rounded MT Bold", sans-serif !important;
	font-size: clamp(8px, .67vw, 10.5px) !important;
	font-weight: 800 !important;
	line-height: 1.08 !important;
	letter-spacing: -.015em !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
}

.iiec-calendar-v2 .iiec-calendar-event-session-count {
	grid-column: 2 !important;
	grid-row: 2 !important;
	align-self: start !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 1px 0 0 !important;
	overflow: hidden !important;
	color: #705033 !important;
	font-family: "Trebuchet MS", sans-serif !important;
	font-size: clamp(7px, .56vw, 8.5px) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
}

.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-more {
	right: 2px !important;
	bottom: 2px !important;
}

/* Event-detail popup: retain the replaceable cue-card artwork and its border,
 * but mask the ruled writing lines under the content so no rule crosses copy. */
.iiec-day-modal-card-content {
	position: relative !important;
	isolation: isolate !important;
}

.iiec-day-modal-card-content::before {
	content: "" !important;
	position: absolute !important;
	z-index: 0 !important;
	inset: 12px !important;
	border-radius: 14px !important;
	background: rgba(255, 251, 235, .94) !important;
	box-shadow: inset 0 0 40px rgba(140, 98, 48, .035) !important;
	pointer-events: none !important;
}

.iiec-day-modal-header,
.iiec-day-modal-events {
	position: relative !important;
	z-index: 1 !important;
}

.iiec-day-modal-header {
	border-bottom: 0 !important;
}

.iiec-popup-v3-left {
	box-sizing: border-box !important;
	padding: 18px 20px !important;
	border: 1px solid rgba(126, 91, 50, .16) !important;
	border-radius: 18px !important;
	background: rgba(255, 252, 242, .96) !important;
	box-shadow: 0 8px 20px rgba(65, 43, 22, .06) !important;
}

.iiec-popup-v3-title {
	font-family: "Luckiest Guy", "Arial Rounded MT Bold", "Trebuchet MS", sans-serif !important;
	font-size: clamp(30px, 2.5vw, 42px) !important;
	font-weight: 400 !important;
	line-height: 1.02 !important;
	letter-spacing: .005em !important;
}

.iiec-popup-v3-type,
.iiec-popup-v3-sessions-title,
.iiec-popup-v3-session-label,
.iiec-popup-v3-session-time,
.iiec-popup-v3-fact dt,
.iiec-popup-v3-fact dd {
	font-family: "Trebuchet MS", "Arial Rounded MT Bold", sans-serif !important;
}

.iiec-popup-v3-session,
.iiec-popup-v3-facts {
	background: rgba(255, 253, 247, .98) !important;
}

.iiec-popup-v3-session {
	border-color: rgba(54, 94, 128, .16) !important;
}

.iiec-popup-v3-facts {
	border: 1px solid rgba(54, 94, 128, .12) !important;
}

@media (max-width: 900px) {
	.iiec-calendar-v2 .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] {
		top: 10.8% !important;
		right: 6.8% !important;
		bottom: 12.6% !important;
		left: 6.8% !important;
		grid-template-rows: 17% minmax(0, 1fr) !important;
	}
	.iiec-calendar-v2 .iiec-calendar-weekdays {
		padding-bottom: 7px !important;
	}
	.iiec-popup-v3-left {
		padding: 16px !important;
	}
}

@media (max-width: 560px) {
	.iiec-calendar-v2 .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] {
		top: 11% !important;
		right: 6.5% !important;
		bottom: 12.2% !important;
		left: 6.5% !important;
	}
	.iiec-calendar-v2 .iiec-calendar-weekday {
		font-size: 10px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-date-number {
		width: 20px !important;
		height: 20px !important;
		font-size: 12px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-event-summary {
		top: 23px !important;
		right: 2px !important;
		bottom: 2px !important;
		left: 2px !important;
		grid-template-columns: 19px minmax(0, 1fr) !important;
		column-gap: 2px !important;
		padding: 2px 3px !important;
		border-radius: 5px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
		width: 19px !important;
		height: 19px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-event-name {
		font-size: 7px !important;
		-webkit-line-clamp: 1 !important;
	}
	.iiec-calendar-v2 .iiec-calendar-event-session-count {
		font-size: 6.5px !important;
	}
	.iiec-day-modal-card-content::before {
		inset: 7px !important;
	}
}


/* ========================================================================== 
   Event Calendar 3.0.0-dev.91 — weekday spacing + separated event layout
   - Weekday row moves upward and consumes less parchment height.
   - Event icon is independent from event copy (no white pill/chip).
   - Long event names get substantially more room and icons stay fully visible.
   ========================================================================== */

/* Use more of the parchment opening and stop wasting vertical room above MON-SUN. */
.iiec-calendar-v2 .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] {
	top: 8.7% !important;
	right: 7.05% !important;
	bottom: 12.35% !important;
	left: 7.05% !important;
	grid-template-rows: 12.2% minmax(0, 1fr) !important;
}

.iiec-calendar-v2 .iiec-calendar-weekdays {
	align-items: end !important;
	padding: 0 0 7px !important;
}

.iiec-calendar-v2 .iiec-calendar-weekday {
	color: #3b281b !important;
	font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif !important;
	font-size: clamp(12px, 1vw, 15px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: .015em !important;
	text-shadow: 0 1px 0 rgba(255,255,255,.58) !important;
}

/* Give every date row a little more usable room. */
.iiec-calendar-v2 .iiec-calendar-date-number {
	width: clamp(20px, 1.65vw, 26px) !important;
	height: clamp(20px, 1.65vw, 26px) !important;
	font-size: clamp(13px, 1.12vw, 17px) !important;
	line-height: 1 !important;
}

/* Event summary becomes a transparent positioning surface. The icon and copy
 * are now independent visual elements rather than one cramped white pill. */
.iiec-calendar-v2 .iiec-calendar-event-summary {
	position: absolute !important;
	z-index: 3 !important;
	top: clamp(27px, 2.35vw, 34px) !important;
	right: 5px !important;
	bottom: 5px !important;
	left: 5px !important;
	display: block !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	pointer-events: none !important;
	text-align: left !important;
}

/* Free-standing event icon in the upper-right portion of the cell. */
.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
	position: absolute !important;
	top: 0 !important;
	right: 1px !important;
	bottom: auto !important;
	left: auto !important;
	width: clamp(30px, 2.7vw, 40px) !important;
	height: clamp(30px, 2.7vw, 40px) !important;
	margin: 0 !important;
	overflow: visible !important;
	filter: drop-shadow(0 2px 1px rgba(79,48,22,.12)) !important;
}

.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
	overflow: visible !important;
}

/* Text sits separately along the bottom-left of the date cell. Reserve a
 * small lane on the right so the title never collides with the icon. */
.iiec-calendar-v2 .iiec-calendar-event-name {
	position: absolute !important;
	left: 0 !important;
	right: clamp(31px, 2.85vw, 42px) !important;
	bottom: clamp(13px, 1.15vw, 17px) !important;
	display: -webkit-box !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	color: #154f86 !important;
	font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif !important;
	font-size: clamp(8.5px, .74vw, 11px) !important;
	font-weight: 800 !important;
	line-height: 1.08 !important;
	letter-spacing: -.012em !important;
	text-shadow: 0 1px 0 rgba(255,255,255,.72) !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
}

.iiec-calendar-v2 .iiec-calendar-event-session-count {
	position: absolute !important;
	left: 0 !important;
	right: clamp(31px, 2.85vw, 42px) !important;
	bottom: 1px !important;
	display: block !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	color: #664a31 !important;
	font-family: "Trebuchet MS", Arial, sans-serif !important;
	font-size: clamp(7px, .58vw, 8.75px) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
	text-shadow: 0 1px 0 rgba(255,255,255,.58) !important;
}

.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-more {
	right: -2px !important;
	bottom: -2px !important;
}

@media (max-width: 900px) {
	.iiec-calendar-v2 .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] {
		top: 9% !important;
		right: 6.8% !important;
		bottom: 12.2% !important;
		left: 6.8% !important;
		grid-template-rows: 11.8% minmax(0, 1fr) !important;
	}
	.iiec-calendar-v2 .iiec-calendar-weekdays {
		padding-bottom: 5px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
		width: 28px !important;
		height: 28px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-event-name,
	.iiec-calendar-v2 .iiec-calendar-event-session-count {
		right: 31px !important;
	}
}

@media (max-width: 560px) {
	.iiec-calendar-v2 .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] {
		top: 9.2% !important;
		right: 6.5% !important;
		bottom: 12% !important;
		left: 6.5% !important;
		grid-template-rows: 11.5% minmax(0, 1fr) !important;
	}
	.iiec-calendar-v2 .iiec-calendar-weekday {
		font-size: 9px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-event-summary {
		top: 21px !important;
		right: 2px !important;
		bottom: 2px !important;
		left: 2px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
		top: 0 !important;
		right: 0 !important;
		width: 19px !important;
		height: 19px !important;
	}
	.iiec-calendar-v2 .iiec-calendar-event-name {
		right: 21px !important;
		bottom: 10px !important;
		font-size: 6.8px !important;
		-webkit-line-clamp: 1 !important;
	}
	.iiec-calendar-v2 .iiec-calendar-event-session-count {
		right: 21px !important;
		bottom: 0 !important;
		font-size: 6px !important;
	}
}


/* ========================================================================== 
   Event Calendar 3.0.0-dev.92 — compact viewport-safe event details
   - Preserve the finished calendar layout from dev.91.
   - Make "Island" capitalization a copy-only change in the renderer.
   - Reduce the desktop event details card and guarantee it stays on-screen.
   ========================================================================== */

@media (min-width: 981px) {
	.iiec-day-modal {
		padding: 24px !important;
	}

	.iiec-day-modal-dialog {
		width: min(1120px, calc(100vw - 64px)) !important;
		height: min(700px, calc(100dvh - 56px)) !important;
		max-width: 1120px !important;
		max-height: calc(100dvh - 56px) !important;
		margin: auto !important;
	}

	.iiec-day-modal-header {
		padding: 20px 78px 16px !important;
	}

	.iiec-day-modal-eyebrow {
		margin-bottom: 5px !important;
		font-size: 13px !important;
	}

	.iiec-day-modal-title {
		font-size: clamp(34px, 3.2vw, 48px) !important;
		line-height: 1.02 !important;
	}

	.iiec-day-modal-close {
		top: 18px !important;
		right: 22px !important;
		width: 46px !important;
		height: 46px !important;
		min-width: 46px !important;
		border-radius: 14px !important;
	}

	.iiec-day-modal-events {
		padding: 20px 52px 20px !important;
	}

	.iiec-popup-v3 {
		grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr) !important;
		grid-template-rows: minmax(0, 1fr) 50px !important;
		column-gap: 42px !important;
		row-gap: 10px !important;
	}

	.iiec-popup-v3-left {
		padding: 14px 16px !important;
		border-radius: 15px !important;
	}

	.iiec-popup-v3-type {
		gap: 10px !important;
		margin-bottom: 9px !important;
		font-size: 15px !important;
	}

	.iiec-popup-v3-type img {
		width: 32px !important;
		height: 36px !important;
	}

	.iiec-popup-v3-title {
		margin-bottom: 15px !important;
		font-size: clamp(28px, 2.35vw, 38px) !important;
	}

	.iiec-popup-v3-sessions-title {
		gap: 9px !important;
		margin-bottom: 9px !important;
		font-size: 18px !important;
	}

	.iiec-popup-v3-sessions-title::before {
		font-size: 24px !important;
	}

	.iiec-popup-v3-sessions {
		gap: 7px !important;
	}

	.iiec-popup-v3-session {
		grid-template-columns: 125px minmax(0, 1fr) !important;
		min-height: 46px !important;
		padding: 6px 14px !important;
		border-radius: 12px !important;
	}

	.iiec-popup-v3-session-label {
		font-size: 13px !important;
	}

	.iiec-popup-v3-session-time {
		font-size: 16px !important;
	}

	.iiec-popup-v3-right {
		grid-template-rows: 210px auto !important;
		gap: 14px !important;
	}

	.iiec-popup-v3-image {
		width: 210px !important;
		height: 210px !important;
		min-width: 210px !important;
		min-height: 210px !important;
		max-width: 210px !important;
		max-height: 210px !important;
		border-radius: 15px !important;
	}

	.iiec-popup-v3-facts {
		padding: 0 14px !important;
		border-radius: 13px !important;
	}

	.iiec-popup-v3-fact {
		grid-template-columns: 105px minmax(0,1fr) !important;
		gap: 12px !important;
		min-height: 38px !important;
	}

	.iiec-popup-v3-fact dt {
		font-size: 13px !important;
	}

	.iiec-popup-v3-fact dd {
		font-size: 15px !important;
	}

	.iiec-popup-v3-button {
		width: min(610px, 68%) !important;
		min-height: 46px !important;
		padding: 7px 20px !important;
		font-size: 16px !important;
		box-shadow: 0 4px 0 #0d2747 !important;
	}
}

/* Short desktop/laptop viewports get an even tighter card without switching
 * to the stacked tablet layout. */
@media (min-width: 981px) and (max-height: 760px) {
	.iiec-day-modal-dialog {
		height: calc(100dvh - 32px) !important;
		max-height: calc(100dvh - 32px) !important;
	}
	.iiec-day-modal-header {
		padding-top: 14px !important;
		padding-bottom: 11px !important;
	}
	.iiec-day-modal-events {
		padding-top: 14px !important;
		padding-bottom: 14px !important;
	}
	.iiec-popup-v3-right {
		grid-template-rows: 180px auto !important;
	}
	.iiec-popup-v3-image {
		width: 180px !important;
		height: 180px !important;
		min-width: 180px !important;
		min-height: 180px !important;
		max-width: 180px !important;
		max-height: 180px !important;
	}
}


/* ========================================================================== 
   Event Calendar 3.0.0-dev.94 — balanced desktop calendar scale
   - Roll back the oversized dev.93 treatment.
   - Keep the calendar clearly larger than dev.92, but only by about one third.
   - Preserve the centered parchment/grid geometry and responsive tablet/mobile.
   ========================================================================== */

@media (min-width: 1200px) {
	.iiec-calendar.iiec-calendar-v2 {
		width: min(1700px, calc(100vw - 32px)) !important;
		max-width: none !important;
		padding-right: 24px !important;
		padding-left: 24px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		width: min(1560px, calc(100vw - 96px)) !important;
		max-width: none !important;
		margin-top: 132px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls {
		top: -116px !important;
		width: min(900px, calc(100vw - 200px)) !important;
		height: 92px !important;
		gap: clamp(18px, 1.6vw, 28px) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-heading {
		flex: 0 1 640px !important;
		width: clamp(500px, 38vw, 640px) !important;
		height: 88px !important;
		min-height: 88px !important;
		max-height: 88px !important;
		padding: 10px 30px !important;
		border-width: 4px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-heading h2 {
		font-size: clamp(28px, 2.2vw, 40px) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-navigation {
		flex-basis: 78px !important;
		width: 78px !important;
		height: 78px !important;
		min-width: 78px !important;
		min-height: 78px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-weekdays {
		padding-bottom: 8px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-weekday {
		font-size: clamp(14px, .9vw, 18px) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-date-number {
		width: clamp(25px, 1.55vw, 32px) !important;
		height: clamp(25px, 1.55vw, 32px) !important;
		font-size: clamp(16px, 1.05vw, 21px) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-summary {
		top: clamp(34px, 2.35vw, 42px) !important;
		right: 6px !important;
		bottom: 6px !important;
		left: 6px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
		width: clamp(36px, 2.7vw, 48px) !important;
		height: clamp(36px, 2.7vw, 48px) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-name {
		right: clamp(39px, 3vw, 52px) !important;
		bottom: clamp(15px, 1.05vw, 19px) !important;
		font-size: clamp(9px, .7vw, 13px) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-session-count {
		right: clamp(39px, 3vw, 52px) !important;
		font-size: clamp(7px, .52vw, 9px) !important;
	}
}



/* ========================================================================== 
   Event Calendar 3.0.0-dev.95 — dedicated responsive calendar layouts
   Desktop >=1200 keeps the approved dev.94 composition untouched.
   Tablet landscape/portrait retain the wooden board at sensible sizes.
   Mobile <=560 replaces the board artwork with a CSS parchment calendar card.
   ========================================================================== */

/* ---------- Tablet landscape / compact desktop: 901–1199 ---------- */
@media (min-width: 901px) and (max-width: 1199px) {
	.iiec-calendar.iiec-calendar-v2 {
		width: min(1160px, calc(100vw - 20px)) !important;
		padding-right: 14px !important;
		padding-left: 14px !important;
	}

	.iiec-calendar-page-heading {
		max-width: 680px !important;
		margin-bottom: 24px !important;
	}

	.iiec-calendar-page-title {
		font-size: clamp(44px, 5.7vw, 62px) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		width: min(1080px, calc(100vw - 38px)) !important;
		margin-top: 112px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls {
		top: -98px !important;
		width: min(760px, calc(100% - 80px)) !important;
		height: 78px !important;
		gap: 16px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-heading {
		flex-basis: 540px !important;
		width: min(540px, calc(100% - 150px)) !important;
		height: 74px !important;
		min-height: 74px !important;
		max-height: 74px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-heading h2 {
		font-size: clamp(26px, 3vw, 34px) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-navigation {
		flex-basis: 62px !important;
		width: 62px !important;
		height: 62px !important;
		min-width: 62px !important;
		min-height: 62px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] {
		top: 8.8% !important;
		right: 7% !important;
		bottom: 12.3% !important;
		left: 7% !important;
		grid-template-rows: 11.8% minmax(0, 1fr) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-weekday {
		font-size: 13px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-date-number {
		width: 24px !important;
		height: 24px !important;
		font-size: 15px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
		width: 32px !important;
		height: 32px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-name,
	.iiec-calendar-v2 .iiec-calendar-event-session-count {
		right: 35px !important;
	}

	/* On tablet, keep the hero clean. Past Events becomes a compact card below. */
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		width: min(560px, calc(100% - 32px)) !important;
		margin: 20px auto 0 !important;
	}
}

/* ---------- Tablet portrait: 561–900 ---------- */
@media (min-width: 561px) and (max-width: 900px) {
	.iiec-calendar.iiec-calendar-v2 {
		width: 100% !important;
		padding: 20px 12px 38px !important;
	}

	.iiec-calendar-page-heading {
		max-width: 620px !important;
		margin: 0 auto 20px !important;
		padding-right: 12px !important;
		padding-left: 12px !important;
	}

	.iiec-calendar-page-heading-kicker {
		font-size: 11px !important;
	}

	.iiec-calendar-page-title {
		font-size: clamp(40px, 7.2vw, 56px) !important;
	}

	.iiec-calendar-page-subtitle {
		max-width: 520px !important;
		font-size: 14px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		width: min(820px, calc(100vw - 24px)) !important;
		margin-top: 96px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls {
		top: -84px !important;
		width: min(650px, calc(100% - 40px)) !important;
		height: 68px !important;
		gap: 10px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-heading {
		flex: 1 1 auto !important;
		width: auto !important;
		height: 64px !important;
		min-height: 64px !important;
		max-height: 64px !important;
		padding: 7px 16px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-heading h2 {
		font-size: clamp(23px, 4.2vw, 31px) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-navigation {
		flex-basis: 54px !important;
		width: 54px !important;
		height: 54px !important;
		min-width: 54px !important;
		min-height: 54px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] {
		top: 8.9% !important;
		right: 6.85% !important;
		bottom: 12.2% !important;
		left: 6.85% !important;
		grid-template-rows: 11.4% minmax(0, 1fr) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-weekdays {
		padding-bottom: 4px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-weekday {
		font-size: 11px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-day {
		padding: 4px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-date-number {
		width: 22px !important;
		height: 22px !important;
		font-size: 13px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-summary {
		top: 25px !important;
		right: 3px !important;
		bottom: 3px !important;
		left: 3px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
		width: 27px !important;
		height: 27px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-name {
		right: 30px !important;
		bottom: 12px !important;
		font-size: 7.8px !important;
		-webkit-line-clamp: 2 !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-session-count {
		right: 30px !important;
		font-size: 6.8px !important;
	}

	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		width: min(520px, calc(100% - 28px)) !important;
		margin: 18px auto 0 !important;
	}
}

/* ---------- Mobile: <=560. No wooden frame asset. ---------- */
@media (max-width: 560px) {
	.iiec-calendar.iiec-calendar-v2 {
		width: 100% !important;
		padding: 14px 9px 28px !important;
		overflow: visible !important;
	}

	.iiec-calendar-v2 .iiec-calendar-v2-page-background {
		border-radius: 0 !important;
	}

	.iiec-calendar-page-heading {
		max-width: 390px !important;
		margin: 0 auto 16px !important;
		padding: 0 8px !important;
		gap: 5px !important;
	}

	.iiec-calendar-page-heading-kicker {
		padding: 5px 11px !important;
		font-size: 9px !important;
		letter-spacing: .1em !important;
	}

	.iiec-calendar-page-title {
		font-size: clamp(34px, 10vw, 46px) !important;
		line-height: .98 !important;
		-webkit-text-stroke: 1.5px #16487f !important;
		text-shadow: 0 3px 0 #16487f, 0 7px 16px rgba(10,66,110,.26) !important;
	}

	.iiec-calendar-page-subtitle {
		max-width: 350px !important;
		font-size: 12px !important;
		line-height: 1.28 !important;
	}

	/* The shell becomes a normal flow wrapper. The desktop wood image is removed. */
	.iiec-calendar-v2 .iiec-calendar-v2-shell {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: auto !important;
		margin: 0 auto !important;
		padding: 0 !important;
		background: none !important;
		box-shadow: none !important;
		overflow: visible !important;
	}

	/* Month navigation becomes a compact toolbar above the CSS parchment. */
	.iiec-calendar-v2 .iiec-calendar-month-controls {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		display: flex !important;
		width: 100% !important;
		height: 54px !important;
		margin: 0 auto 10px !important;
		gap: 7px !important;
		transform: none !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-heading {
		flex: 1 1 auto !important;
		width: auto !important;
		height: 52px !important;
		min-height: 52px !important;
		max-height: 52px !important;
		padding: 6px 8px !important;
		border-width: 3px !important;
		box-shadow: 0 7px 14px rgba(18,80,127,.2) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-heading h2 {
		font-size: clamp(18px, 5.8vw, 25px) !important;
		letter-spacing: .01em !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-navigation {
		flex: 0 0 46px !important;
		width: 46px !important;
		height: 46px !important;
		min-width: 46px !important;
		min-height: 46px !important;
	}

	/* CSS-only parchment calendar. No frame asset is used on mobile. */
	.iiec-calendar-v2 .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		display: grid !important;
		grid-template-rows: 38px minmax(0, 1fr) !important;
		width: 100% !important;
		height: clamp(430px, 122vw, 500px) !important;
		min-height: 430px !important;
		margin: 0 !important;
		padding: 10px 8px 9px !important;
		border: 3px solid #8a5728 !important;
		border-radius: 20px !important;
		background:
			radial-gradient(circle at 16% 8%, rgba(255,255,255,.42), transparent 24%),
			radial-gradient(circle at 82% 92%, rgba(199,142,67,.08), transparent 30%),
			linear-gradient(180deg, #fff2c9 0%, #f6dfaa 100%) !important;
		box-shadow:
			0 6px 0 #6f431f,
			0 13px 24px rgba(54,35,18,.2),
			inset 0 0 0 2px rgba(255,255,255,.52),
			inset 0 0 34px rgba(128,82,34,.08) !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport,
	.iiec-calendar-v2 .iiec-calendar-month-panel {
		width: 100% !important;
		height: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;
		overflow: hidden !important;
	}

	.iiec-calendar-v2 .iiec-calendar-weekdays {
		height: 38px !important;
		padding: 0 0 5px !important;
		align-items: end !important;
		border-bottom: 1px solid rgba(119,77,35,.24) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-weekday {
		padding: 0 !important;
		font-size: 8.5px !important;
		font-weight: 900 !important;
		letter-spacing: 0 !important;
	}

	.iiec-calendar-v2 .iiec-calendar-grid {
		grid-template-columns: repeat(7, minmax(0,1fr)) !important;
		grid-template-rows: repeat(6, minmax(0,1fr)) !important;
		height: 100% !important;
		border: 0 !important;
		background: transparent !important;
	}

	.iiec-calendar-v2 .iiec-calendar-day {
		min-width: 0 !important;
		min-height: 0 !important;
		padding: 3px !important;
		border-color: rgba(119,77,35,.21) !important;
		background: rgba(255,255,255,.045) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-day:hover,
	.iiec-calendar-v2 .iiec-calendar-day:focus-within {
		background: rgba(255,255,255,.22) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-date,
	.iiec-calendar-v2 .iiec-calendar-day-trigger {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		padding: 0 !important;
		background: transparent !important;
	}

	.iiec-calendar-v2 .iiec-calendar-date-number {
		position: absolute !important;
		top: 1px !important;
		left: 1px !important;
		display: inline-flex !important;
		width: 20px !important;
		height: 20px !important;
		min-width: 20px !important;
		min-height: 20px !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		line-height: 1 !important;
	}

	.iiec-calendar-v2 .iiec-calendar-day-today {
		box-shadow: inset 0 0 0 2px #2587dc !important;
	}

	.iiec-calendar-v2 .iiec-calendar-day-today .iiec-calendar-date-number {
		background: #237ed0 !important;
		color: #fff !important;
	}

	/* Mobile event cells prioritize the icon. Tapping the cell opens the details,
	 * so cramped event names/session copy are intentionally hidden here. */
	.iiec-calendar-v2 .iiec-calendar-event-summary {
		position: absolute !important;
		top: 23px !important;
		right: 2px !important;
		bottom: 2px !important;
		left: 2px !important;
		display: block !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
		position: absolute !important;
		top: auto !important;
		right: 2px !important;
		bottom: 2px !important;
		left: auto !important;
		width: 24px !important;
		height: 24px !important;
		overflow: visible !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-name,
	.iiec-calendar-v2 .iiec-calendar-event-session-count {
		display: none !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-more {
		right: -3px !important;
		bottom: -3px !important;
		min-width: 15px !important;
		height: 15px !important;
		padding: 0 3px !important;
		font-size: 8px !important;
		border-width: 1px !important;
	}

	/* Past Events follows the calendar instead of competing with the mobile hero. */
	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		width: 100% !important;
		margin: 18px auto 0 !important;
	}

	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-inner {
		padding: 12px 14px !important;
		border-radius: 17px !important;
	}

	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-kicker {
		margin-bottom: 3px !important;
		font-size: 8px !important;
	}

	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] h3 {
		margin-bottom: 4px !important;
		font-size: 19px !important;
	}

	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-copy > p {
		margin-bottom: 8px !important;
		font-size: 11px !important;
	}

	.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] .iiec-calendar-archive-cta-button {
		padding: 7px 10px !important;
		font-size: 10px !important;
	}
}

/* Extra-tight phones keep the same design, just trim height a touch. */
@media (max-width: 380px) {
	.iiec-calendar-v2 .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] {
		height: 430px !important;
		min-height: 430px !important;
		padding-right: 6px !important;
		padding-left: 6px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-weekday {
		font-size: 7.8px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
		width: 22px !important;
		height: 22px !important;
	}
}


/* ==========================================================================
   Event Calendar 3.0.0-dev.96 — mobile three-column swipe calendar
   Desktop and tablet retain dev.94/dev.95 approved layouts.
   On phones, exactly three weekday columns are visible at once and the
   weekday header + six-week grid travel together in one horizontal scroller.
   ========================================================================== */
@media (max-width: 560px) {
	.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		scroll-behavior: smooth !important;
		scroll-snap-type: x proximity !important;
		overscroll-behavior-x: contain !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
	}

	.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport::-webkit-scrollbar {
		display: none !important;
	}

	/* Seven equal columns across a surface 7/3 the viewport width = exactly
	 * three day columns visible at any moment. */
	.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport > .iiec-calendar-month-panel {
		position: absolute !important;
		top: 0 !important;
		right: auto !important;
		bottom: 0 !important;
		left: 0 !important;
		display: grid !important;
		grid-template-rows: 38px minmax(0, 1fr) !important;
		width: 233.333333% !important;
		min-width: 233.333333% !important;
		max-width: none !important;
		height: 100% !important;
	}

	/* Initial server markup is briefly unwrapped before JS creates the month
	 * panel, so give it the same three-column geometry to avoid a flash/jump. */
	.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport > .iiec-calendar-weekdays,
	.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport > .iiec-calendar-grid {
		width: 233.333333% !important;
		min-width: 233.333333% !important;
		max-width: none !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-panel > .iiec-calendar-weekdays,
	.iiec-calendar-v2 .iiec-calendar-month-panel > .iiec-calendar-grid {
		width: 100% !important;
		min-width: 100% !important;
		max-width: none !important;
	}

	.iiec-calendar-v2 .iiec-calendar-weekdays,
	.iiec-calendar-v2 .iiec-calendar-grid {
		grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-weekday {
		font-size: 10px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-day {
		padding: 5px !important;
		scroll-snap-align: start !important;
	}

	.iiec-calendar-v2 .iiec-calendar-date-number {
		width: 24px !important;
		height: 24px !important;
		min-width: 24px !important;
		min-height: 24px !important;
		font-size: 13px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-summary {
		top: 28px !important;
		right: 4px !important;
		bottom: 4px !important;
		left: 4px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
		right: 5px !important;
		bottom: 5px !important;
		width: 34px !important;
		height: 34px !important;
	}
}

@media (max-width: 380px) {
	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
		width: 31px !important;
		height: 31px !important;
	}
}


/* ========================================================================== 
   Event Calendar 3.0.0-dev.97 — mobile full-month height + weekday typography
   - Preserve the dev.96 three-day horizontal swipe layout.
   - Let the six calendar weeks define their natural vertical height so the
     final week can never be clipped by a fixed-height mobile viewport.
   - Replace the decorative weekday face with a clean rounded UI font.
   ========================================================================== */
@media (max-width: 560px) {
	/* The phone calendar grows with all six weeks instead of clipping them. */
	.iiec-calendar-v2 .iiec-calendar-v2-content[data-ii-component="event_calendar.grid"] {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: hidden !important;
	}

	.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
	}

	/* Keep exactly three columns visible, but allow the panel to establish the
	 * full six-week height instead of being absolutely stretched/clipped. */
	.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport > .iiec-calendar-month-panel {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		display: grid !important;
		grid-template-rows: 42px auto !important;
		width: 233.333333% !important;
		min-width: 233.333333% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}

	/* Server-first markup gets the same natural sizing before JS wraps it. */
	.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport > .iiec-calendar-weekdays {
		height: 42px !important;
	}

	.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport > .iiec-calendar-grid,
	.iiec-calendar-v2 .iiec-calendar-month-panel > .iiec-calendar-grid {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		align-self: stretch !important;
		grid-template-rows: repeat(6, clamp(88px, 25vw, 106px)) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-month-panel > .iiec-calendar-weekdays {
		height: 42px !important;
		min-height: 42px !important;
		max-height: 42px !important;
		padding: 0 0 5px !important;
	}

	/* Clean, highly legible weekday labels on the blue bar. */
	.iiec-calendar-v2 .iiec-calendar-weekday {
		color: #ffffff !important;
		font-family: "Arial Rounded MT Bold", "Avenir Next", "Trebuchet MS", system-ui, sans-serif !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		line-height: 1 !important;
		letter-spacing: .055em !important;
		text-transform: uppercase !important;
		-webkit-text-stroke: 0 !important;
		text-shadow: none !important;
	}

	/* Center the icon in its day cell so wide artwork cannot clip at a column edge. */
	.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
		right: auto !important;
		bottom: 10px !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
	}
}

@media (max-width: 380px) {
	.iiec-calendar-v2 .iiec-calendar-v2-scroll-viewport > .iiec-calendar-grid,
	.iiec-calendar-v2 .iiec-calendar-month-panel > .iiec-calendar-grid {
		grid-template-rows: repeat(6, 88px) !important;
	}

	.iiec-calendar-v2 .iiec-calendar-weekday {
		font-size: 10px !important;
	}
}


/* ========================================================================== */
/* Event Calendar 3.0.0-dev.99 — site-wide Lucky Sky display typography       */
/* Keep weekday labels/date numerals on the clean UI face approved in dev.97. */
.iiec-calendar-v2,
.iiec-calendar-page-heading,
.iiec-day-modal-dialog {
    --iiec-display-font: "Lucky Sky", "Luckiest Guy", "Lilita One", "Arial Rounded MT Bold", "Trebuchet MS", cursive;
}
.iiec-calendar-page-title,
.iiec-calendar-v2 .iiec-calendar-month-controls > .iiec-calendar-heading h2,
.iiec-calendar-archive-cta[data-ii-component="event_calendar.past_events"] h3,
.iiec-popup-v3-title,
.iiec-popup-v3-sessions-title,
.iiec-popup-v3-session-label,
.iiec-popup-v3-button,
.iiec-calendar-event-name {
    font-family: var(--iiec-display-font) !important;
    font-weight: 400 !important;
}
.iiec-calendar-page-kicker,
.iiec-calendar-archive-cta-kicker,
.iiec-popup-v3-type,
.iiec-popup-v3-fact dt {
    font-family: var(--iiec-display-font) !important;
    font-weight: 400 !important;
    letter-spacing: .04em !important;
}
/* Event times, facts, weekday labels, date numerals and session counts remain
 * deliberately readable utility text rather than display typography. */


/* ========================================================================== */
/* Event Calendar 3.0.0-dev.105 — make event-icon sizing truly authoritative    */
/* The artwork settings own the icon footprint again. Later layout rules had   */
/* hard-coded 30–40px sizes, which made the saved Desktop/Tablet/Mobile values */
/* ineffective. Keep icons free-standing in the upper-right of each day cell. */
.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
    position: absolute !important;
    top: -18px !important;
    right: -2px !important;
    bottom: auto !important;
    left: auto !important;
    width: var(--iiec-day-event-slot-size) !important;
    height: var(--iiec-day-event-slot-size) !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
    transform-origin: top right !important;
    z-index: 4 !important;
    overflow: visible !important;
}
.iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: top right !important;
}
.iiec-calendar-v2 .iiec-calendar-day-trigger:hover .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap,
.iiec-calendar-v2 .iiec-calendar-day-trigger:focus-visible .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
    transform: scale(1.05) !important;
}
@media (max-width: 1024px) {
    .iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
        top: -10px !important;
        right: -1px !important;
        bottom: auto !important;
        left: auto !important;
        width: var(--iiec-day-event-slot-size) !important;
        height: var(--iiec-day-event-slot-size) !important;
        transform: none !important;
    }
}
@media (max-width: 560px) {
    .iiec-calendar-v2 .iiec-calendar-event-summary .iiec-calendar-event-badge-wrap {
        top: -6px !important;
        right: 0 !important;
        bottom: auto !important;
        left: auto !important;
        width: var(--iiec-day-event-slot-size) !important;
        height: var(--iiec-day-event-slot-size) !important;
        transform: none !important;
    }
}

/* ========================================================================== 
   Event Calendar 3.0.0-dev.106 — mobile popup viewport containment
   - The popup is portaled to <body> in JS so Studio transforms cannot redefine
     its fixed-position containing block.
   - The visible shared header is treated as a top inset while it is onscreen.
   - On small screens only the popup event area scrolls; the close control never
     rides above the viewport or gets trapped by iOS elastic scrolling.
   ========================================================================== */
body.iiec-calendar-modal-open {
	overflow: hidden !important;
	overscroll-behavior: none !important;
}

.iiec-day-modal.iiec-day-modal--portaled {
	position: fixed !important;
	z-index: 2147482000 !important;
	top: var(--iiec-modal-viewport-top, 0px) !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	box-sizing: border-box !important;
	transform: none !important;
	translate: none !important;
	scale: 1 !important;
	padding-top: max(10px, env(safe-area-inset-top, 0px)) !important;
	padding-right: max(10px, env(safe-area-inset-right, 0px)) !important;
	padding-bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
	padding-left: max(10px, env(safe-area-inset-left, 0px)) !important;
	overflow: hidden !important;
	overscroll-behavior: contain !important;
	touch-action: manipulation;
}

.iiec-day-modal.iiec-day-modal--portaled .iiec-day-modal-backdrop {
	position: absolute !important;
	inset: 0 !important;
}

@media screen and (max-width: 700px) {
	.iiec-day-modal.iiec-day-modal--portaled {
		align-items: flex-start !important;
		justify-content: center !important;
	}

	.iiec-day-modal.iiec-day-modal--portaled .iiec-day-modal-dialog {
		display: block !important;
		width: min(100%, 760px) !important;
		height: auto !important;
		max-height: 100% !important;
		margin: 0 auto !important;
		overflow: hidden !important;
	}

	.iiec-day-modal.iiec-day-modal--portaled .iiec-day-modal-card-content {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		height: auto !important;
		max-height: calc(100dvh - var(--iiec-modal-viewport-top, 0px) - max(20px, env(safe-area-inset-top, 0px)) - max(20px, env(safe-area-inset-bottom, 0px))) !important;
		min-height: 0 !important;
		overflow: hidden !important;
	}

	.iiec-day-modal.iiec-day-modal--portaled .iiec-day-modal-header {
		position: relative !important;
		flex: 0 0 auto !important;
		min-height: 0 !important;
	}

	.iiec-day-modal.iiec-day-modal--portaled .iiec-day-modal-events {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		overscroll-behavior: contain !important;
	}

	.iiec-day-modal.iiec-day-modal--portaled .iiec-day-modal-close {
		z-index: 20 !important;
		pointer-events: auto !important;
		touch-action: manipulation !important;
	}
}
