/* Eventixa Events List: route-specific layout and behavior only. */

.evx-events-archive-page {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	color: var(--evx-text-primary);
}

.evx-events-view {
	position: relative;
	padding: 0;
	display: block !important;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	width: min(calc(100% - (var(--evx-container-gutter) * 2)), var(--evx-container-width));
	margin: var(--evx-space-32) auto var(--evx-space-48);
}

.evx-search-field {
	position: relative;
	width: 100%;
}

.evx-search-field__icon, .evx-view-switcher svg, .evx-filter-button svg, .evx-card__meta svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.evx-search-field__icon {
	position: absolute;
	top: 50%;
	left: 15px;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	color: var(--evx-text-primary);
	pointer-events: none;
}

.evx-search-field input[type="search"] {
	width: 100%;
	height: 45px;
	padding: 0 20px 0 40px;
	border: 1px solid var(--evx-border);
	border-radius: 10px;
	background: var(--evx-surface);
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.02);
	font-size: var(--evx-font-body);
	font-weight: 400;
	letter-spacing: -0.01em;
	color: var(--evx-text-primary);
	outline: none;
	pointer-events: auto;
	-webkit-appearance: none;
	appearance: none;
}

.evx-search-field input[type="search"]::placeholder {
	color: var(--evx-text-muted);
}

.evx-view-switcher {
	display: inline-flex;
	border: 1px solid var(--evx-border);
	background: var(--evx-surface);
	overflow: hidden;
}

button.evx-view-switcher__button, button.evx-filter-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 45px;
	padding: 0 20px;
	border: 0;
	background: transparent;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	color:inherit;
}
button[type=button].evx-view-switcher__button:hover, button[type=button].evx-filter-button:hover {
    background: var(--evx-surface);
    outline: none;
	color:inherit;
}

.evx-view-switcher__button svg, .evx-filter-button svg {
	width: 25px;
	height: 25px;
}

.evx-results-count {
	font-size: var(--evx-font-button);
	font-weight: 600;
	line-height: 1;
	color: var(--evx-text-secondary);
	white-space: nowrap;
}

.evx-listing-sort {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}
.evx-listing-sort select{
	height: 40px;
	border: 1px solid var(--evx-border);
	border-radius: 5px;
	padding: 5px;
    background: var(--evx-surface);
}
.evx-events-results {
	position: relative;
	min-height: 240px;
	transition: opacity var(--evx-transition-fast);
}

@keyframes evx-spin {
	to {
			transform: rotate(360deg);
		}
}

.evx-list-view__items {
	display: grid;
	gap: 15px;
}

.evx-list-card {
	display: grid;
	grid-template-columns: 100px minmax(0, 1fr) minmax(180px, 260px);
	gap: 15px;
	align-items: center;
	min-height: 170px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: 10px 15px;
}

.evx-card:hover {
	border-color: rgba(241, 75, 14, 0.18);
	box-shadow: 0 12px 36px rgba(15, 23, 42, 0.07);
	transform: translateY(-1px);
}

.evx-card__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 100px;
	border-radius: 5px;
	background: var(--evx-surface-soft);
}

.evx-card__month {
	margin-bottom: 2px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	color: var(--evx-event-color, var(--evx-primary));
}

.evx-card__day {
	font-size: 42px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--evx-text-primary);
}

.evx-card__time {
	margin-bottom: 5px;
	font-size: var(--evx-font-size-12);
	font-weight: 600;
	line-height: 18px;
	color: var(--evx-event-color, var(--evx-primary));
}

.evx-events-view .evx-card__title {
	margin: 0 0 5px;
	font-size: var(--evx-font-card-title);
	font-weight: var(--evx-font-weight-700);
	line-height: 24px;
}
.evx-card__title a{
	color: var(--evx-text-primary);
}
.evx-card__meta-list {
	display: grid;
	gap: 6px;
	margin-bottom: 4px;
}

.evx-card__meta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	font-size: var(--evx-font-meta);
	line-height: 18px;
}

.evx-card__meta svg {
	width: 15px;
	height: 15px;
	flex: 0 0 15px;
	color: var(--evx-text-primary);
}

.evx-card__excerpt {
	margin: 5px 0 10px;
	font-size: var(--evx-font-body);
	line-height: 1.5;
}

.evx-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 20px;
	border: 1px solid transparent;
	border-radius: 6px;
	font-size: var(--evx-font-button);
	font-weight: 600;
	line-height: 20px;
	text-decoration: none;
	cursor: pointer;
}

.evx-button--primary {
	background: var(--evx-primary);
	color: var(--evx-surface);
	box-shadow: 0 8px 18px rgba(241, 75, 14, 0.18);
}

.evx-button--primary:hover {
	background: var(--evx-primary-hover);
	color: var(--evx-surface);
}

.evx-card__media {
	position: relative;
	display: block;
	width: 100%;
	height: 150px;
	border-radius: 7px;
	overflow: hidden;
}

.evx-card__image, .evx-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--evx-transition-base);
}

.evx-card:hover .evx-card__image, .evx-card:hover .evx-card__media img {
	transform: scale(1.035);
}

.evx-card__badge {
	position: absolute;
	top: 13px;
	left: 13px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 14px;
	border-radius: 5px;
	background: var(--evx-event-color, var(--evx-primary));
	color: var(--evx-surface);
	font-size: var(--evx-font-badge);
	font-weight: 600;
	line-height: 1;
}

/* No placeholder is rendered for list cards without a featured image. */


.evx-empty-state {
	display: grid;
	place-items: center;
	min-height: 200px;
	padding: 30px;
	border: 1px solid var(--evx-border);
	border-radius: 5px;
	background: var(--evx-surface);
	text-align: center;
}

.evx-empty-state__illustration {
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	margin-bottom: 15px;
	border-radius: 5px;
	background: var(--evx-primary-soft);
	color: var(--evx-primary);
	font-size: 24px;
}
.evx-empty-state__illustration .evx-icon.evx-icon--calendar {
    width: 30px;
}

.evx-empty-state h2 {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 700;
}

.evx-empty-state p {
	max-width: 420px;
	margin: 0 0 18px;
	color: var(--evx-text-muted);
}

/* Phase 2: Pixel-focused month calendar view. */

.evx-calendar-view {
	width: 100%;
}

.evx-calendar-header__nav {
    display: flex;
    gap: 10px;
}
.evx-calendar-header__nav a {
    color: var(--evx-text-primary);
    padding: 10px 10px 15px 10px;
}
.evx-calendar-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    width: 40px;
    border: 1px solid var(--evx-border);
    border-radius: var(--evx-radius-5);
    background: var(--evx-surface);
    font-size: 30px;
    font-weight: 600;
}

.evx-calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	margin-top: 20px;
	border: 1px solid var(--evx-border);
	overflow: hidden;
}

.evx-calendar-grid__weekday {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	border-bottom: 1px solid var(--evx-border);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	color: var(--evx-text-secondary);
}

.evx-calendar-grid__day {
	position: relative;
	min-height: 140px;
	padding: 14px 16px 10px;
	border-right: 1px solid var(--evx-border);
	border-bottom: 1px solid var(--evx-border);
	background: var(--evx-surface);
	overflow: visible;
}
.evx-calendar-grid__day a {
    color: var(--evx-text-primary);
}	
.evx-calendar-grid__day a:hover, .evx-calendar-grid__day a:focus{
	color: var(--evx-primary);
}
.evx-calendar-grid__day:nth-child(7n + 7) {
	border-right: 0;
}

.evx-calendar-grid__day.is-other-month {
	background: var(--evx-surface-alt);
}

.evx-calendar-grid__day.is-today .evx-calendar-grid__date {
	font-size: 16px;
	font-weight: 700;
}


.evx-calendar-event {
	position: relative;
	display: grid;
	grid-template-columns: 8px auto minmax(0, 1fr);
	gap: 6px;
	align-items: center;
	min-height: 18px;
	font-size: 14px;
	font-weight: 500;
	line-height: 17px;
	text-decoration: none;
	z-index: 1;
}

.evx-calendar-event:hover, .evx-calendar-event:focus {
	color: var(--evx-text-secondary);
	text-decoration: none;
	z-index: 50;
}

.evx-calendar-event__dot {
	width: 6px;
	height: 6px;
	border-radius: var(--evx-radius-full);
	background: var(--evx-event-color, var(--evx-primary));
}

.evx-calendar-event__time {
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
}

.evx-calendar-event__title {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.evx-calendar-grid__more {
	display: inline-flex;
	align-items: center;
	font-size: 14px;
	font-weight: 600;
	line-height: 18px;
	text-decoration: none;
}

.evx-calendar-popover {
	position: absolute;
	left: 50%;
	top: 100%;
	z-index: 9999;
	display: block;
	width: 270px;
	padding: 10px;
	border: 1px solid #edf0f4;
	border-radius: var(--evx-radius-5);
	background: var(--evx-surface);
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 14px);
	transition: opacity 0.16s ease, transform 0.16s ease;
}


.evx-calendar-event:hover .evx-calendar-popover, .evx-calendar-event:focus .evx-calendar-popover, .evx-calendar-event:focus-within .evx-calendar-popover {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 8px);
}

.evx-calendar-event:hover .evx-calendar-popover.is-edge-left, .evx-calendar-event:focus .evx-calendar-popover.is-edge-left, .evx-calendar-event:hover .evx-calendar-popover.is-edge-right, .evx-calendar-event:focus .evx-calendar-popover.is-edge-right {
	transform: translate(0, 8px);
}

.evx-calendar-popover__cta {
    width: 100%;
	box-sizing: border-box;
	font-weight: 600;
}
.evx-calendar-popover__media {
    position: relative;
    display: block;
    height: 150px;
    border-radius: 8px;
    overflow: hidden;
    background: linear-gradient(135deg, #eef2f7, #e2e8f0);
}

.evx-calendar-popover__meta {
	display: grid;
	grid-template-columns: 15px minmax(0, 1fr);
	gap: 5px;
	align-items: start;
	font-size: 14px;
	font-weight: 500;
}

.evx-calendar-popover__meta svg {
	width: 15px;
	height: 15px;
}

.evx-calendar-popover__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 5px;
	border-top: 1px solid var(--evx-border);
}

.evx-calendar-legend {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	padding: 22px 12px 0;
	font-size: 13px;
	font-weight: 500;
	color: var(--evx-text-secondary);
}

.evx-calendar-legend__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

.evx-calendar-legend__item span {
	width: 10px;
	height: 10px;
	border-radius: var(--evx-radius-full);
}

.evx-calendar-legend__link {
	color: var(--evx-primary);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

/* Phase 2 topbar refinement: shared toolbar must stay fixed while AJAX swaps view bodies. */

.evx-listing-header__top {
	grid-template-columns: 340px minmax(0, 1fr);
	align-items: start;
	display: block;
	margin-bottom: var(--evx-space-16);
}

.evx-view-switcher__button+.evx-view-switcher__button {
	border-left: 1px solid var(--evx-border);
}


.evx-filter-drawer {
	position: fixed;
	inset: 0;
	z-index: 100000;
	visibility: hidden;
	pointer-events: none;
}

.evx-filter-drawer.is-open {
	visibility: visible;
	pointer-events: auto;
}

.evx-filter-drawer__overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.42);
	opacity: 0;
	transition: opacity 0.22s ease;
}

.evx-filter-drawer.is-open .evx-filter-drawer__overlay {
	opacity: 1;
}

.evx-filter-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	width: min(420px, 100vw);
	height: 100%;
	padding: 20px;
	background: var(--evx-surface);
	box-shadow: -20px 0 50px rgba(15, 23, 42, 0.16);
	transform: translateX(100%);
	transition: transform 0.26s ease;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.evx-filter-drawer.is-open .evx-filter-drawer__panel {
	transform: translateX(0);
}

.evx-filter-drawer__panel h2 {
	margin: 0px;
	font-size: 18px;
	line-height: 1;
	font-weight: 600;
	color: var(--evx-text-primary);
}

.evx-filter-drawer__panel p {
	margin: 0;
	font-size: 14px;
	line-height: 20px;
	color: var(--evx-text-muted);
}

button[type=button].evx-filter-drawer__close {
	position: static;
	flex: 0 0 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding:10px;
	border: 1px solid var(--evx-border, #e7ebf1);
	border-radius: var(--evx-radius-5);
	background: var(--evx-surface);
	cursor: pointer;
	appearance: none;
	color: var(--evx-text-primary);
}

.evx-filter-is-open {
	overflow: hidden;
}



/* Phase 3: drawer filters, chips, day view, and responsive polish. */

.evx-chip, button[type=button].evx-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	padding: 0 12px;
	border: 1px solid rgba(241, 75, 14, 0.18);
	border-radius: var(--evx-radius-full);
	background: var(--evx-primary-soft);
	color: var(--evx-primary);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
}

.evx-chip--clear, button[type=button].evx-chip--clear {
	border-color: var(--evx-border);
	background: var(--evx-surface);
	color: #334155;
}

.evx-button--secondary {
	border-color: var(--evx-border);
	background: var(--evx-surface);
	color: var(--evx-text-primary);
}

.evx-filter-drawer__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 15px;
	border-bottom: 1px solid var(--evx-border);
}

.evx-filter-form {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 24px;
	overflow-y: auto;
	padding-top: 24px;
}

.evx-filter-group {
	display: grid;
	gap: 12px;
}

.evx-filter-group h3 {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
}

input[type=search].evx-filter-search {
	width: 100%;
	height: 40px;
	padding: 0 15px;
	border: 1px solid var(--evx-border);
	border-radius: 5px;
	background: var(--evx-surface);
	color: var(--evx-text-primary);
	font-size: 14px;
	outline: none;
}

.evx-filter-search:focus {
	border-color: var(--evx-primary);
	box-shadow: 0 0 0 4px rgba(241, 75, 14, 0.12);
}

.evx-filter-options {
	display: grid;
	gap: 10px;
	max-height: 172px;
	overflow-y: auto;
	padding: 2px 2px 2px 0;
}

.evx-filter-option {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 34px;
	color: #1f2937;
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
	cursor: pointer;
}

.evx-filter-option input {
	width: 18px;
	height: 18px;
	accent-color: var(--evx-primary);
}

.evx-filter-option--available {
	padding: 14px;
	border: 1px solid var(--evx-border);
	border-radius: 12px;
	background: #fbfcfe;
}

.evx-filter-actions {
	position: sticky;
	bottom: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: auto;
	padding-top: 18px;
	background: var(--evx-surface);
}

.evx-events-day-view {
	display: grid;
	gap: 26px;
}

.evx-events-view-header--split {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 18px 20px;
	border: 1px solid var(--evx-border);
	border-radius: 14px;
	background: var(--evx-surface);
	box-shadow: 0 12px 38px rgba(15, 23, 42, 0.035);
}

.evx-events-view-nav {
	display: flex;
	align-items: center;
	gap: 10px;
}

.evx-events-nav-button, .evx-events-date-selector {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 18px;
	border: 1px solid var(--evx-border);
	border-radius: 10px;
	background: var(--evx-surface);
	color: var(--evx-text-primary);
	font-size: 15px;
	font-weight: 700;
	line-height: 20px;
	text-decoration: none;
}

.evx-events-nav-button--icon {
	width: 48px;
	padding: 0;
	font-size: 28px;
	font-weight: 400;
}

.evx-events-date-selector {
	min-width: 168px;
}

.evx-events-view-header__title {
	margin: 0;
	color: var(--evx-text-primary);
	font-size: 24px;
	font-weight: 800;
	line-height: 32px;
	letter-spacing: -0.03em;
}

.evx-events-day-list {
	display: grid;
	gap: 8px;
}

.evx-events-empty {
	display: grid;
	place-items: center;
	min-height: 260px;
	border: 1px solid var(--evx-border);
	border-radius: 14px;
	background: var(--evx-surface);
	text-align: center;
}

.evx-events-empty h2 {
	margin: 0;
	font-size: 20px;
	font-weight: 800;
	line-height: 28px;
	color: var(--evx-text-primary);
}

/* Day view design update: previous/today/date/next filter and pixel-focused cards. */

.evx-day-filter {
	display: grid;
	grid-template-columns: 1fr auto auto 1fr;
	align-items: center;
	gap: 15px;
	padding: 15px;
	border: 1px solid var(--evx-border);
	border-radius: var(--evx-radius-5);
	background: var(--evx-surface);
}
.evx-day-filter a, .evx-day-filter a:hover, .evx-day-filter a:focus, .evx-day-card a, .evx-day-card a:hover, .evx-day-card a:focus {
	text-decoration: none !important;
    outline: none !important;
}
.evx-day-filter span, .evx-day-filter a{
	color: var(--evx-text-primary);
}
.evx-day-filter__side span.evx-day-filter__icon {
    padding: 10px 10px 15px 10px;
}
.evx-card__title a:hover {
    color: var(--evx-primary);
}
.evx-day-filter__side {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
}

.evx-day-filter__side--next {
	justify-self: end;
}
.evx-day-filter__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--evx-border);
    border-radius: var(--evx-radius-5);
    background: var(--evx-surface);
    font-size: 32px;
    cursor: pointer;
}
.evx-day-filter__today, .evx-day-filter__date {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 40px;
    border: 1px solid var(--evx-border);
    border-radius: var(--evx-radius-5);
	margin:0;
}
.evx-day-filter__today,.evx-day-filter__date {
	padding: 0 10px;
	max-height: 40px;
}

.evx-day-filter__date::after {
	content: "⌄";
	position: absolute;
	right: 18px;
	top: 50%;
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	transform: translateY(-50%);
	display: none;
}

.evx-day-filter__date input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	background: var(--evx-surface);
	padding:0;
}

.evx-day-filter svg, .evx-day-card__meta svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}


.evx-day-card {
    display: grid;
    grid-template-columns: minmax(180px, 260px) minmax(0, 1fr) 170px;
    gap: 20px;
    align-items: center;
    min-height: 150px;
    padding: 20px;
    border-radius: var(--evx-radius-5);
}

.evx-day-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	height: 142px;
	border-radius: 8px;
	background: #f1f5f9;
}

.evx-day-card__media img, .evx-day-card__media .evx-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.evx-day-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 12px;
	border-radius: 8px;
	background: color-mix(in srgb, var(--evx-event-color) 12%, var(--evx-surface));
	color: var(--evx-event-color);
	font-size: 13px;
	font-weight: 700;
	line-height: 18px;
}
.evx-day-card-cta-section{
	text-align: center;
	display: grid;
}

/* Event Listing final polish: chips visible in every view, floating calendar popovers, and stronger multi-day bars. */

.evx-events-view[data-view="calendar"] .evx-listing-header__meta:has(.evx-filter-chips:empty), .evx-events-view[data-view="day"] .evx-listing-header__meta:has(.evx-filter-chips:empty) {
	min-height: 0;
}


.evx-calendar-event>.evx-calendar-popover {
	display: none;
}

.evx-calendar-popover.is-floating {
	position: fixed;
	left: var(--evx-popover-left, 16px);
	top: var(--evx-popover-top, 16px);
	width: 286px;
	transition: opacity 0.12s ease, transform 0.12s ease;
	display: block !important;
	visibility: visible;
	opacity: 1;
	pointer-events: auto !important;
	transform: none;
	z-index: 999999 !important;
	box-shadow: var(--evx-shadow-lg);
}

.evx-calendar-popover.is-floating::before {
	content: "";
	position: absolute;
	left: var(--evx-popover-arrow-left, 50%);
	top: -7px;
	width: 14px;
	height: 14px;
	background: var(--evx-surface);
	border-left: 1px solid #edf0f4;
	border-top: 1px solid #edf0f4;
	transform: translateX(-50%) rotate(45deg);
	display: none;
}

.evx-calendar-popover.is-floating.is-above::before {
	top: auto;
	bottom: -7px;
	border: 0;
	border-right: 1px solid #edf0f4;
	border-bottom: 1px solid #edf0f4;
}

.evx-calendar-event.is-segment-continue .evx-calendar-event__bar {
	background: linear-gradient(90deg, color-mix(in srgb, var(--evx-event-color, var(--evx-primary)) 76%, var(--evx-surface) 24%), var(--evx-event-color, var(--evx-primary)));
	border-left-color: transparent;
	width: 100%;
	max-width: 100%;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	padding-left: 8px;
}

.evx-calendar-event.is-segment-continue .evx-calendar-event__bar:empty::before {
	content: "";
	display: block;
	height: 100%;
}

.evx-calendar-event.is-segment-continue .evx-calendar-event__bar:not(:empty)::before {
	content: "";
}

@supports not (color: color-mix(in srgb, red 50%, white 50%)) {
	.evx-calendar-event__bar, .evx-calendar-event.is-segment-continue .evx-calendar-event__bar {
		background: var(--evx-event-color, var(--evx-primary));
		box-shadow: 0 6px 14px rgba(241, 75, 14, 0.18);
	}
}

/* Calendar hover popover placement fix: never overlaps the cursor/trigger path. */

.evx-calendar-popover.is-floating.is-bottom::before, .evx-calendar-popover.is-floating.is-top::before, .evx-calendar-popover.is-floating.is-left::before, .evx-calendar-popover.is-floating.is-right::before {
	content: "";
	display: block;
	position: absolute;
	width: 14px;
	height: 14px;
	background: var(--evx-surface);
}

.evx-calendar-popover.is-floating.is-bottom::before {
	left: var(--evx-popover-arrow-left, 50%);
	top: -7px;
	border-left: 1px solid #edf0f4;
	border-top: 1px solid #edf0f4;
	transform: translateX(-50%) rotate(45deg);
}

.evx-calendar-popover.is-floating.is-top::before {
	left: var(--evx-popover-arrow-left, 50%);
	bottom: -7px;
	border-right: 1px solid #edf0f4;
	border-bottom: 1px solid #edf0f4;
	transform: translateX(-50%) rotate(45deg);
}

.evx-calendar-popover.is-floating.is-right::before {
	left: -7px;
	top: var(--evx-popover-arrow-top, 50%);
	border-left: 1px solid #edf0f4;
	border-bottom: 1px solid #edf0f4;
	transform: translateY(-50%) rotate(45deg);
}

.evx-calendar-popover.is-floating.is-left::before {
	right: -7px;
	top: var(--evx-popover-arrow-top, 50%);
	border-top: 1px solid #edf0f4;
	border-right: 1px solid #edf0f4;
	transform: translateY(-50%) rotate(45deg);
}

/* Compatibility, responsive, no-underline, and no-image refinements. */

.evx-card--no-media {
	grid-template-columns: 112px minmax(0, 1fr);
}

.evx-card--no-media .evx-card__content {
	max-width: 760px;
}

.evx-day-card--no-media {
	grid-template-columns: minmax(0, 1fr) 164px;
	padding-left: 26px;
}

.evx-calendar-popover:not(:has(.evx-calendar-popover__media)) .evx-calendar-popover__body {
	padding-top: 16px;
}

.evx-card__placeholder {
	display: none !important;
}
.evx-day-card_price {
    font-size: var(--evx-font-meta);
    margin-bottom: 5px;
}
/* Event Listing final refinements: settings sync, calendar bars, mobile fit, and drawer close polish. */

.evx-events-view :where(a, a:hover, a:focus, a:active, a:visited), .evx-events-view :where(.evx-card__title a, .evx-day-card__title a, .evx-button, .evx-day-card__button, .evx-calendar-event, .evx-calendar-grid__date, .evx-calendar-grid__more) {
	text-decoration: none !important;
}

.evx-calendar-event.is-multiday {
	display: block;
}


.evx-filter-drawer__close svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	pointer-events: none;
}

/* Event Listing: clickable calendar popovers and premium-free cleanup. */

.evx-calendar-popover.is-floating .evx-calendar-popover__cta, .evx-calendar-popover.is-floating .evx-calendar-popover__title, .evx-calendar-popover.is-floating .evx-calendar-popover__media {
	cursor: pointer;
}

/* Event Listing: stable clickable calendar popover + corrected multi-week event bars. */

.evx-calendar-popover.is-floating:hover, .evx-calendar-popover.is-floating:focus-within {
	visibility: visible;
	opacity: 1;
}
.evx-calendar-popover__title{
	font-size: 16px;
}
/* Event Listing: final calendar span and hover-popover fixes. */


/* Event Listing page requested layout refinements. */

.evx-listing-header__intro {
	display: none !important;
}

/* List view container and media sizing refinements. */

.evx-list-view, .evx-list-view__items, .evx-list-view__items>.evx-card {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.evx-list-view__items>.evx-card {
	grid-template-columns: 106px minmax(0, 1fr) clamp(180px, 20vw, 260px);
	gap: clamp(16px, 2vw, 24px);
	overflow: hidden;
}

/* Toolbar refinement: icon-only views, mobile rows, and compact results/sort line. */

.evx-view-switcher__button {
	width: 56px;
	min-width: 56px;
	padding: 0;
	gap: 0;
}

.evx-view-switcher__button svg {
	flex: 0 0 auto;
}

/* List view month grouping. */

.evx-list-view__months {
	display: grid;
	gap: 18px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.evx-list-month {
	display: grid;
	gap: 12px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.evx-list-month__heading {
	display: grid;
	grid-template-columns: auto minmax(24px, 1fr);
	gap: 12px;
	align-items: center;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.evx-list-month__heading h2 {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--evx-text-primary);
	white-space: nowrap;
}

.evx-list-month__heading span {
	display: block;
	height: 1px;
	min-width: 0;
	background: var(--evx-border);
}

/* Mobile list view alignment fixes. */

.evx-card {
	position: relative;
}

/* Day view refinements: keep day navigation above results meta, improve date input, and mobile rows. */

.evx-events-view[data-view="day"] {
	display: flex !important;
	flex-direction: column;
}

.evx-events-view[data-view="day"] .evx-listing-header__meta {
	order: 30;
	margin: 0 0 12px;
}

.evx-events-view[data-view="day"] .evx-filter-drawer {
	order: 90;
}

.evx-events-view[data-view="day"] .evx-events-day-list, .evx-events-view[data-view="day"] .evx-events-empty {
	order: 50;
}

.evx-day-filter__date span {
	display: none;
}

.evx-day-filter__date input[type="date"] {
	position: static;
	inset: auto;
	border: 0;
	opacity: 1;
	appearance: auto;
	-webkit-appearance: auto;
	cursor: pointer;
}

.evx-day-filter__date input[type="date"]:focus {
	outline: none;
}


/* Eventixa: compact calendar month toolbar. */

.evx-calendar-month-picker {
	margin-left: 0;
	position: relative;
	display: inline-flex;
	align-items: center;
	flex: 0 1 190px;
	min-width: 164px;
	max-width: 190px;
	margin: 0;
}

.evx-calendar-month-picker input {
	max-width: 100%;
	width: 100%;
	height: 40px;
	border: 1px solid var(--evx-border);
	border-radius: var(--evx-radius-5);
	background: var(--evx-surface);
	font-size: 14px;
	cursor: pointer;
	-webkit-appearance: auto;
	appearance: auto;
	padding:5px 10px;
}

/* Calendar month layout fix: multi-day bars first, same-day events below, no bar overlap. */

.evx-calendar-grid__bars, .evx-calendar-grid__items {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
	overflow: visible;
}

.evx-calendar-grid__bars+.evx-calendar-grid__items {
	margin-top: 1px;
}

.evx-calendar-grid__items .evx-calendar-event:not(.is-multiday) {
	position: relative;
	z-index: 1;
	margin: 0;
}

.evx-calendar-event.is-multiday:hover, .evx-calendar-event.is-multiday:focus, .evx-calendar-event.is-multiday:focus-within {
	z-index: 4;
}

.evx-calendar-event-spacer {
	height: 18px;
}


.evx-calendar-grid__bars .evx-calendar-event.is-multiday:hover, .evx-calendar-grid__bars .evx-calendar-event.is-multiday:focus, .evx-calendar-grid__bars .evx-calendar-event.is-multiday:focus-within {
	z-index: 5;
}

.evx-calendar-grid__bars .evx-calendar-event.is-multiday .evx-calendar-event__bar {
	display: block !important;
	width: 100%;
	max-width: 100%;
	height: 18px !important;
	min-height: 18px !important;
	max-height: 18px !important;
	padding: 0 8px;
	border: 0;
	background: var(--evx-event-color, var(--evx-primary)) !important;
	box-shadow: none !important;
	color: var(--evx-surface);
	font-size: 13px;
	font-weight: 500;
	line-height: 18px !important;
	letter-spacing: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	text-shadow: none;
	white-space: nowrap;
}

.evx-calendar-grid__bars .evx-calendar-event.is-event-start.is-segment-start .evx-calendar-event__bar {
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
}

.evx-calendar-grid__bars .evx-calendar-event.is-segment-end .evx-calendar-event__bar {
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
}

/* Event discovery authority overrides: kept last until the route stylesheet cleanup phase. */

.evx-listing-header__controls {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) auto auto;
	gap: var(--evx-space-12);
	align-items: center;
}

.evx-search-field input[type="search"], .evx-view-switcher, button[type=button].evx-filter-button {
	border-color: var(--evx-border-strong);
	border-radius: var(--evx-radius-5);
	box-shadow: var(--evx-shadow-xs);
}

button[type=button].evx-view-switcher__button.is-active{
	background: var(--evx-primary-soft);
	color: var(--evx-primary);
}
button[type=button].evx-filter-button:hover,button[type=button].evx-filter-button:focus{
	background:var(--evx-surface);
	color: var(--evx-text-primary);
}
.evx-listing-header__meta {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: var(--evx-space-16);
	align-items: center;
	min-height: var(--evx-control-height-md);
	margin-bottom: var(--evx-space-16);
}

.evx-filter-chips {
	display: flex;
	gap: var(--evx-space-8);
	overflow-x: auto;
	scrollbar-width: thin;
}

.evx-events-error {
	min-height: 320px;
}

.evx-filter-drawer.evx-drawer .evx-filter-drawer__panel {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	width: min(440px, 94vw);
	max-width: none;
}

.evx-filter-drawer .evx-filter-form {
	min-height: 0;
	overflow-y: auto;
}
/* Eventixa responsive styles: consolidated and deduplicated. */

@media (max-width: 575px) {
	.evx-listing-header__meta{
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.evx-filter-chips {
		order: 3;
		padding-bottom: 5px;
		-webkit-overflow-scrolling: touch;
        grid-column: 1 / -1;
	}
	.evx-filter-chips:empty {
		display: none;
	}
	.evx-listing-sort {
		width: 100%;
		min-width: 0;
		display: inline-flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: space-between;
		gap: 6px;
		font-size: 13px;
		white-space: nowrap;
	}

	.evx-listing-sort span {
		max-width: 44px;
		overflow: hidden;
		font-size: 0;
		text-overflow: clip;
	}

	.evx-events-view {
		width: min(100% - 18px, 520px);
		margin-top: 20px;
	}

	.evx-calendar-grid__day {
		min-height: 100px;
		padding: 4px;
	}

    .evx-listing-header__top, .evx-listing-header__controls {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "search search" "views filter";
    }
	.evx-search-field {
        grid-area: search;
    }

	.evx-listing-sort span{
		display:none;
	}
	.evx-events-view[data-view="day"] .evx-day-filter {
		gap: 5px;
		padding: 10px;
	}
	.evx-day-filter__today, .evx-day-filter__date{
		height: 40px;
		margin:0;
	}
	.evx-day-card-cta-section{
		text-align: left;
	}
	.evx-events-view[data-view="day"] .evx-day-filter__side span:not(.evx-day-filter__icon) {
		display: none !important;
	}
	.evx-view-switcher__button {
		flex-basis: 40px;
		width: 40px;
		min-width: 0;
		flex: 1 1 0;
		padding: 0 12px;
	}
	
	.evx-listing-header__title {
		font-size: 30px;
		line-height: 36px;
	}

	.evx-card, .evx-card--no-media {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.evx-card__media {
		height: 180px;
	}
	.evx-event-card__button {
		width: 100%;
	}
	.evx-calendar-toolbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.evx-calendar-toolbar__left {
		flex-wrap: wrap;
	}

	.evx-calendar-toolbar__title {
		width: 100%;
		margin: 8px 0 0;
		font-size: 24px;
		line-height: 32px;
	}

	.evx-events-date-selector {
		grid-column: 1 / -1;
		width: 100%;
	}

	.evx-day-filter {
		grid-template-columns: 40px 100px minmax(0, 1fr) 40px;
	}
	.evx-day-filter__icon{
		width: 40px;
		height: 40px;
	}
	.evx-day-card {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 12px;
	}

	.evx-day-card__media {
		height: 150px;
	}

	.evx-calendar-event.is-multiday .evx-calendar-event__bar {
		width: 100%;
		max-width: 100%;
		height: 16px;
		min-height: 16px;
		padding: 0 4px;
		font-size: 10px;
		line-height: 16px;
	}
	.evx-card__media {
		grid-column: 1 / -1;
		grid-row: 1;
		height: 150px;
	}
	.evx-list-card {
		position: relative;
		grid-template-columns: 1fr;
	}

	/* Date displayed over image */
	.evx-list-card .evx-card__date {
		position: absolute;
		top: 20px;
		right: 20px;
		z-index: 5;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 60px;
		height: 60px;
		margin: 0;
		border-radius: 8px;
		background: rgba(255, 255, 255, 0.94);
		text-decoration: none;
		backdrop-filter: blur(4px);
	}

	.evx-list-card .evx-card__month {
		font-size: 12px;
	}
	.evx-list-card .evx-card__day{
		font-size: 18px;
	}
	.evx-calendar-event__dot{
		width: 4px;
		height: 4px;
	}
	.evx-calendar-event__time{
		font-size: 10px;
		display: none;
	}
	.evx-calendar-event__title {
		overflow: auto;
		white-space: pre-line;
		font-size: 10px;
	}
	.evx-card__content, .evx-card__meta, .evx-card__excerpt {
		font-size: var(--evx-font-size-12);
	}
	.evx-events-view .evx-card__title{
		font-size: var(--evx-font-size-14);
	}
}

@media (min-width:576px) and (max-width: 991px) {
	.evx-events-view {
		width: min(100% - 24px, 760px);
		margin-top: 20px;
		margin: 18px auto 32px;
	}
	
	.evx-list-card {
		grid-template-columns: 70px minmax(0, 1fr) minmax(180px, 220px);	
	}
	.evx-card__content, .evx-card__meta, .evx-card__excerpt {
		font-size: var(--evx-font-size-12);
	}
	.evx-card__title{
		font-size: var(--evx-font-size-16);
	}

	.evx-day-card {
		display: grid;
		grid-template-columns: 220px minmax(0, 1fr) 150px;
	}
	.evx-calendar-event__time{
		font-size: 10px;
		display: none;
	}
	.evx-calendar-event__title {
		overflow: auto;
		white-space: pre-line;
		font-size: 10px;
	}
}
