/* MEC's scroll loader otherwise covers the entire calendar in white. */
.elementor-11530 .mec-load-more-wrap.mec-load-more-scroll-loading {
	position: relative;
	inset: auto;
	height: auto;
	min-height: 48px;
	background-color: transparent;
	background-position: center;
	z-index: auto;
}

/* Reserve feedback space before loading to avoid moving the footer. */
.elementor-11530 .mec-load-more-wrap.nissis-scroll-feedback {
	min-height: 48px;
	padding: 12px 0;
	background: none;
}

.elementor-11530 .nissis-scroll-status {
	display: block;
	margin: 0;
	color: #465273;
	font: inherit;
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}

.elementor-11530 .nissis-scroll-status a {
	color: inherit;
	text-decoration: underline;
}

.elementor-11530 .nissis-scroll-status a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

/* Keep the Shows discovery surface light so the event cards read as distinct objects. */
body.page-id-10747 .elementor-element.elementor-element-3a2836e,
body.page-id-10747 .elementor-element.elementor-element-f8ff0f4 {
 background:#f5f7fb !important;
}

.elementor-11530 form.nissis-show-filters {
 display:grid; grid-template-columns:minmax(0,1fr) auto minmax(260px,320px); grid-template-areas:"months loading search"; align-items:center; gap:16px 24px;
 background:transparent; border:0; border-bottom:1px solid #d9deeb; border-radius:0;
 box-shadow:none; margin:0 0 28px; padding:8px 0 24px; color:#091638;
}
.nissis-show-filters .nissis-months { display:flex; flex-wrap:wrap; gap:8px; grid-area:months; }
.elementor-11530 .nissis-show-filters button.nissis-month {
 min-height:44px !important; padding:9px 20px !important; border:1px solid #8792c2 !important; border-radius:999px !important;
 background:#fff !important; color:#001269 !important; font:inherit !important; font-weight:600 !important; line-height:1.3 !important; cursor:pointer !important; margin:0 !important; box-shadow:0 4px 12px rgba(9,22,56,.06) !important; text-transform:none !important;
}
.elementor-11530 .nissis-show-filters button.nissis-month.is-selected { background:#001269 !important; border-color:#001269 !important; color:#fff !important; }
.nissis-show-filters .nissis-show-search { display:flex; align-items:center; grid-area:search; width:100%; min-width:0; border:1px solid #c2c9dc; border-radius:999px; background:#fff; box-shadow:0 6px 18px rgba(9,22,56,.07); }
.elementor-11530 .nissis-show-filters input[type="search"] { width:100%; min-width:0; min-height:46px; padding:10px 0 10px 18px; border:0; margin:0; background:transparent; color:#091638; font:inherit; box-shadow:none; border-radius:999px; }
.elementor-11530 .nissis-show-filters input::placeholder { color:#65708c; opacity:1; }
.elementor-11530 .nissis-show-filters .nissis-search-submit { display:flex !important; align-items:center !important; justify-content:center !important; flex:0 0 46px !important; width:46px !important; height:46px !important; padding:11px !important; border:0 !important; border-radius:50% !important; background:transparent !important; color:#001269 !important; cursor:pointer !important; margin:0 !important; box-shadow:none !important; text-transform:none !important; }
.nissis-search-submit svg { width:22px; height:22px; stroke:currentColor; stroke-width:2; fill:none; }
.nissis-show-filters :is(input,button):focus-visible { outline:3px solid #527bc4; outline-offset:3px; }

.nissis-show-filters .nissis-filter-loading {
 display:none; grid-area:loading; align-items:center; justify-content:center; min-width:40px;
}
.nissis-show-filters.is-loading .nissis-filter-loading { display:flex; }
.nissis-filter-spinner {
 display:block; width:28px; height:28px; border:3px solid #cbd3e7; border-top-color:#001269; border-radius:50%;
 animation:nissis-filter-spin .7s linear infinite;
}
@keyframes nissis-filter-spin { to { transform:rotate(360deg); } }

@media(max-width:900px) {
 .elementor-11530 form.nissis-show-filters { grid-template-columns:minmax(0,1fr); grid-template-areas:"months" "loading" "search"; }
}
@media(max-width:767px) {
 .elementor-11530 form.nissis-show-filters { gap:14px; margin-bottom:20px; padding-top:4px; }
 .elementor-11530 .nissis-show-filters button.nissis-month { padding-inline:16px !important; font-size:.95rem !important; }
}

.elementor-11530 .nissis-search-submit svg { position:static !important; flex:none !important; width:22px !important; min-width:22px; height:22px !important; margin:0 !important; transform:none !important; }

/* Month/search requests keep existing cards visible instead of washing the page white. */
.elementor-11530 .mec-modal-result.mec-month-navigator-loading {
 inset:auto; width:0; height:0; overflow:hidden; background:none; pointer-events:none;
}
.elementor-11530 .mec-modal-result.mec-month-navigator-loading::before {
 content:none;
}

@media(prefers-reduced-motion:reduce) {
 .nissis-filter-spinner { animation-duration:1.4s; }
}

/* Keep filter-result counts available to assistive technology without a second visible notice.
   Loading/errors retain their visible feedback and usable recovery link. */
.elementor-11530 .nissis-calendar-request-status--announcement {
 position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
 clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0;
}

/* Shows only: keep the native month controls directly beneath the shared header. */
body.page-id-10747 .elementor-11530 form.nissis-show-filters {
	/* Retain the DOM form/landmark while the calendar governs sticky range. */
	display: contents;
}

body.page-id-10747 .nissis-show-filters .nissis-months {
	position: sticky;
	top: var(--nissis-shows-header-bottom, calc(var(--nissis-admin-bar-offset, 0px) + var(--nissis-header-height, 6rem)));
	z-index: 20;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
	min-width: 0;
	max-width: 100%;
	overflow: visible;
	box-sizing: border-box;
	padding: 10px 6px;
	margin: 0 0 16px;
	background: #f5f7fb;
	box-shadow: 0 8px 12px -12px rgba(9, 22, 56, .35);
}

body.page-id-10747 .nissis-show-filters .nissis-show-search {
	box-sizing: border-box;
	max-width: 100%;
	margin-bottom: 24px;
}

/* Keep the original polite loading status beside the normal-flow search. */
body.page-id-10747 .nissis-show-filters .nissis-filter-loading {
	position: absolute;
	top: calc(var(--nissis-month-row-height, 64px) + 26px);
	right: 56px;
	z-index: 1;
	min-width: 28px;
}
body.page-id-10747 .elementor-11530 .nissis-show-filters.is-loading input[type="search"] {
	padding-right: 38px;
}

body.page-id-10747 .elementor-11530 .nissis-show-filters button.nissis-month {
	flex: 0 0 auto;
	white-space: nowrap;
	min-height: 44px !important;
	padding: 8px 16px !important;
	font-size: .95rem !important;
	box-shadow: none !important;
}

body.page-id-10747 .nissis-show-filters .nissis-months:focus-visible {
	outline: 3px solid #527bc4;
	outline-offset: 0;
}

body.page-id-10747 .nissis-show-filters .nissis-month-scroll-hint {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}


/* The existing loading indicator occupies top padding, never a month column. */
body.page-id-10747 .nissis-show-filters--months-only .nissis-months > .nissis-filter-loading {
 display:flex; position:absolute; top:0; right:0; width:10px; height:10px;
 min-width:0; visibility:hidden; overflow:hidden; border-radius:50%; background:transparent; box-shadow:none; pointer-events:none;
}
body.page-id-10747 .nissis-show-filters--months-only .nissis-filter-spinner {
 width:10px; height:10px; border-width:2px;
}
body.page-id-10747 .nissis-show-filters--months-only.is-loading .nissis-months > .nissis-filter-loading { visibility:visible; }
.nissis-show-filters .nissis-month-label-short { display:none; }
body.page-id-10747 .elementor-11530 .nissis-show-filters button.nissis-month { transition:none !important; }
@media (hover:hover) and (pointer:fine) {
 .elementor-11530 .nissis-show-filters button.nissis-month:not(.is-selected):hover {
  background:#edf2fa !important; border-color:#527bc4 !important; color:#001269 !important;
 }
}
@media (max-width:767px) {
 body.page-id-10747 .nissis-show-filters .nissis-months {
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:4px; padding:10px 0;
 }
 body.page-id-10747 .elementor-11530 .nissis-show-filters button.nissis-month {
  min-width:0 !important; width:100%; padding:8px 2px !important; font-size:.8125rem !important;
 }
 .nissis-show-filters .nissis-month-label-full { display:none; }
 .nissis-show-filters .nissis-month-label-short { display:inline; }
 .nissis-show-filters button.nissis-month:focus-visible { outline-offset:1px; }
}


/* Match the Shows canvas to Home's measured gutters; keep the hero photo full bleed. */
@media (min-width: 1101px) {
	body.page-id-10747 .elementor-10747 > .elementor-element-3a2836e > .elementor-container {
		width: 92%;
		max-width: 1620px;
		margin-inline: auto;
	}
	body.page-id-10747 .elementor-10747 > .elementor-element-73a2817e {
		padding-inline: 10px;
	}
	body.page-id-10747 .elementor-10747 .elementor-element-210d73db {
		/* Home card canvas: min(92% of (viewport - 20px), 1620px) - 40px. */
		width: calc(92% - 40px);
		max-width: 1580px;
		margin-inline: auto;
		padding-inline: 0;
	}
}
@media (min-width: 768px) and (max-width: 1100px) {
	body.page-id-10747 .elementor-10747 > .elementor-element-3a2836e {
		padding-inline: 10px;
	}
	body.page-id-10747 .elementor-10747 > .elementor-element-73a2817e {
		padding-inline: 32px;
	}
	body.page-id-10747 .elementor-10747 .elementor-element-210d73db {
		padding-inline: 0;
	}
}
@media (max-width: 767px) {
	body.page-id-10747 .elementor-10747 > .elementor-element-73a2817e {
		padding-inline: 20px;
	}
	body.page-id-10747 .elementor-10747 .elementor-element-210d73db {
		padding-inline: 0;
	}
}
