.at-events,
.at-request-modal,
.at-request-standalone {
	box-sizing: border-box;
}

.at-events {
	width: 100%;
	max-width: min(100%, var(--at-container-width, 1180px));
	margin-inline: auto;
	min-width: 0;
}

.at-widget-event-list,
.at-widget-events,
.at-event-card,
.at-event-list-item,
.at-eventon-item,
.at-event-compact-item,
.at-event-day-item,
.at-event-detail,
.at-event-content,
.at-event-detail-content,
.at-event-ticket-box {
	min-width: 0;
}

.at-events *,
.at-events *::before,
.at-events *::after,
.at-request-modal *,
.at-request-modal *::before,
.at-request-modal *::after,
.at-request-standalone *,
.at-request-standalone *::before,
.at-request-standalone *::after {
	box-sizing: border-box;
}

.at-events-grid,
.at-event-month-items,
.at-event-list,
.at-eventon-list,
.at-event-compact,
.at-event-day-groups,
.at-event-card-body,
.at-event-content,
.at-event-detail-content,
.at-event-ticket-box,
.at-event-detail-popup-content,
.at-event-popup-inner,
.at-event-popup-content,
.at-event-popup-body,
.at-request-form,
.at-today-event {
	display: grid;
	gap: var(--at-card-gap, 24px);
}

.at-events-grid,
.at-event-month-items {
	grid-template-columns: repeat(var(--at-grid-columns-desktop, 3), minmax(0, 1fr));
}

.at-equal-height .at-events-grid,
.at-equal-height .at-event-month-items {
	align-items: stretch;
}

.at-equal-height .at-event-card {
	height: 100%;
}

.at-event-card,
.at-event-list-item,
.at-eventon-item,
.at-event-compact-item,
.at-event-day-item,
.at-event-detail {
	width: 100%;
	overflow: hidden;
}

.at-event-image-wrap {
	display: block;
	aspect-ratio: var(--at-eventon-image-ratio, 16 / 9);
	overflow: hidden;
	min-width: 0;
}

.at-event-image,
.at-event-image-wrap img,
.at-event-hero-image img,
.at-event-gallery img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.at-event-card-top,
.at-event-meta,
.at-event-actions,
.at-event-buttons,
.at-event-primary-actions .at-event-actions,
.at-event-secondary-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--at-button-gap, 10px);
	align-items: center;
	min-width: 0;
}

.at-buttons-direction-row .at-event-actions,
.at-buttons-direction-row .at-event-buttons {
	display: flex;
	flex-wrap: wrap;
}

.at-buttons-direction-column .at-event-actions,
.at-buttons-direction-column .at-event-buttons {
	display: grid;
}

.at-actions-hidden .at-event-actions,
.at-actions-hidden .at-event-buttons {
	display: none;
}

.at-event-button,
.at-event-detail-button,
.at-event-back-button,
.at-request-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	cursor: pointer;
}

.at-event-title,
.at-event-list-title,
.at-event-subtitle,
.at-event-excerpt,
.at-event-meta,
.at-event-list-meta {
	min-width: 0;
	overflow-wrap: anywhere;
}

.at-event-title,
.at-event-list-title,
.at-event-subtitle,
.at-event-excerpt,
.at-event-meta,
.at-event-list-meta,
.at-event-month-heading {
	margin-top: 0;
}

.at-event-date-box {
	display: grid;
	gap: 2px;
	align-content: center;
}

.at-event-date--inline {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.35em;
	align-items: baseline;
	width: auto;
	max-width: none;
}

.at-event-list-item {
	display: grid;
	grid-template-columns: minmax(96px, var(--at-list-date-width, 132px)) minmax(0, 1fr) minmax(168px, var(--at-list-action-width, 220px));
	gap: var(--at-card-gap, 24px);
	align-items: start;
}

.at-event-list-item--has-image {
	grid-template-columns: minmax(140px, var(--at-eventon-image-width, 220px)) minmax(96px, var(--at-list-date-width, 132px)) minmax(0, 1fr) minmax(168px, var(--at-list-action-width, 220px));
}

.at-event-list-actions,
.at-eventon-actions {
	display: grid;
	align-content: start;
	gap: var(--at-button-gap, 10px);
	min-width: 0;
}

.at-event-list-actions .at-event-button,
.at-eventon-actions .at-event-button {
	width: 100%;
}

.at-eventon-item {
	display: grid;
	grid-template-columns: minmax(140px, var(--at-eventon-image-width, 220px)) minmax(0, 1fr) minmax(180px, var(--at-list-action-width, 220px));
	gap: var(--at-card-gap, 24px);
	align-items: stretch;
}

.at-eventon-image--right .at-eventon-image {
	order: 2;
}

.at-eventon-image--right .at-eventon-content {
	order: 1;
}

.at-eventon-image--right .at-eventon-actions {
	order: 3;
}

.at-eventon-image--top .at-eventon-item,
.at-image-position-background .at-eventon-item,
.at-eventon-image--hidden .at-eventon-item {
	grid-template-columns: minmax(0, 1fr) minmax(180px, var(--at-list-action-width, 220px));
}

.at-eventon-image--top .at-eventon-image {
	grid-column: 1 / -1;
}

.at-image-position-top.at-layout-list .at-event-list-item,
.at-image-position-top.at-layout-classic .at-event-list-item,
.at-image-position-background .at-event-list-item {
	grid-template-columns: minmax(96px, var(--at-list-date-width, 132px)) minmax(0, 1fr) minmax(168px, var(--at-list-action-width, 220px));
}

.at-image-position-top.at-layout-list .at-event-list-image,
.at-image-position-top.at-layout-classic .at-event-list-image {
	grid-column: 1 / -1;
}

.at-image-position-right.at-layout-list .at-event-list-image,
.at-image-position-right.at-layout-classic .at-event-list-image {
	order: 4;
}

.at-image-position-hidden .at-event-image-wrap {
	display: none;
}

.at-image-position-background .at-event-card,
.at-image-position-background .at-event-list-item,
.at-image-position-background .at-eventon-item {
	position: relative;
	min-height: var(--at-background-card-min-height, 280px);
}

.at-image-position-background .at-event-card > .at-event-image-wrap,
.at-image-position-background .at-event-list-item > .at-event-image-wrap,
.at-image-position-background .at-eventon-item > .at-event-image-wrap {
	position: absolute;
	inset: 0;
	z-index: 0;
	aspect-ratio: auto;
}

.at-image-position-background .at-event-card > .at-event-content,
.at-image-position-background .at-event-list-item > .at-event-content,
.at-image-position-background .at-eventon-item > .at-event-content,
.at-image-position-background .at-event-date-wrap,
.at-image-position-background .at-event-actions {
	position: relative;
	z-index: 1;
}

.at-event-compact-item {
	display: grid;
	grid-template-columns: minmax(88px, var(--at-eventon-image-width, 120px)) minmax(115px, auto) minmax(0, 1fr) auto;
	gap: var(--at-button-gap, 10px);
	align-items: center;
}

.at-event-month {
	display: grid;
	gap: var(--at-card-gap, 24px);
}

.at-event-month-row {
	display: grid;
	grid-template-columns: minmax(110px, var(--at-list-date-width, 132px)) minmax(0, 1fr);
	gap: var(--at-card-gap, 24px);
	align-items: start;
}

.at-event-detail-layout,
.at-event-detail-grid,
.at-event-hero,
.at-event-detail-popup {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr);
	gap: var(--at-card-gap, 24px);
	min-width: 0;
}

.at-event-detail-layout {
	grid-template-columns: minmax(0, var(--at-detail-main-width, 65%)) minmax(0, var(--at-detail-sidebar-width, 35%));
	gap: var(--at-detail-column-gap, var(--at-card-gap, 24px));
	align-items: start;
}

.at-detail-layout-one-column .at-event-detail-layout {
	grid-template-columns: 1fr;
}

.at-detail-layout-sidebar-content .at-event-detail-main {
	order: 2;
}

.at-detail-layout-sidebar-content .at-event-ticket-sidebar {
	order: 1;
}

.at-detail-sidebar--left .at-event-detail-grid {
	grid-template-columns: minmax(280px, 0.42fr) minmax(0, 1fr);
}

.at-detail-sidebar--left .at-event-ticket-box {
	order: -1;
}

.at-detail-layout-content-sidebar .at-event-detail-layout,
.at-detail-layout-sidebar-content .at-event-detail-layout {
	grid-template-columns: minmax(0, var(--at-detail-main-width, 65%)) minmax(0, var(--at-detail-sidebar-width, 35%));
}

.at-detail-layout-content-sidebar .at-event-detail-main {
	order: 1;
}

.at-detail-layout-content-sidebar .at-event-ticket-sidebar {
	order: 2;
}

.at-detail-sidebar-sticky .at-event-ticket-sidebar {
	position: sticky;
	top: var(--at-detail-sticky-offset, 24px);
	align-self: start;
}

.at-detail-context-popup {
	position: relative;
	width: min(var(--at-modal-width, 760px), calc(100vw - 48px));
	max-width: calc(100vw - 48px);
	max-height: var(--at-modal-max-height, 90vh);
	overflow: auto;
}

.at-detail-context-popup.at-popup-position-top {
	margin-inline: auto;
	align-self: flex-start;
}

.at-detail-context-popup.at-popup-position-right {
	margin-left: auto;
	margin-right: 0;
}

.at-detail-context-popup.at-popup-position-left {
	margin-left: 0;
	margin-right: auto;
}

.at-detail-context-popup.at-popup-position-bottom {
	margin-top: auto;
	margin-inline: auto;
}

.at-event-popup-close--inner {
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 3;
}

.at-event-detail-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.at-event-detail-date-wrap,
.at-event-detail-entry-time-wrap,
.at-event-detail-start-time-wrap,
.at-popup-date-wrap,
.at-popup-entry-time-wrap,
.at-popup-start-time-wrap,
.at-popup-detail-date-wrap,
.at-popup-detail-entry-time-wrap,
.at-popup-detail-start-time-wrap {
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
	min-width: 0;
}

.at-popup-date-time-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.at-popup-detail-widget,
.at-popup-detail,
.at-popup-detail-header,
.at-popup-detail-content,
.at-popup-detail-lineup,
.at-popup-detail-gallery,
.at-popup-detail-venue,
.at-popup-ticket-box {
	min-width: 0;
}

.at-popup-detail {
	display: grid;
	gap: var(--at-popup-section-gap, 24px);
	width: min(var(--at-popup-template-width, 760px), 100%);
	max-width: 100%;
}

.at-popup-detail-header {
	display: grid;
	gap: 10px;
}

.at-popup-detail-image-wrap {
	max-width: 100%;
	min-width: 0;
}

.at-popup-detail-image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.at-popup-primary-actions,
.at-popup-secondary-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--at-button-gap, 10px);
}

.at-event-popup-header,
.at-event-popup-actions,
.at-event-accordion-detail,
.at-event-accordion-content {
	min-width: 0;
}

.at-event-detail-popup {
	grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
}

.at-event-gallery > div,
.at-event-related > div {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: var(--at-button-gap, 10px);
}

.at-event-primary-actions,
.at-event-secondary-actions {
	display: grid;
	gap: var(--at-button-gap, 10px);
	min-width: 0;
}

.at-request-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--at-button-gap, 10px);
}

.at-request-field,
.at-tickets-form,
.at-ticket-box,
.at-ticket-list {
	display: grid;
	gap: var(--at-button-gap, 10px);
}

.at-ticket-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 12px;
	align-items: center;
	min-width: 0;
}

.at-ticket-info {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.at-ticket-name,
.at-ticket-description,
.at-ticket-unit-price {
	overflow-wrap: anywhere;
}

.at-ticket-qty,
.at-ticket-quantity,
.at-ticket-quantity-controls {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
}

.at-request-input,
.at-request-textarea,
.at-ticket-quantity-input,
.at-ticket-qty-input {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.at-ticket-qty-input {
	width: 4.5rem;
	text-align: center;
}

.at-ticket-subtotal {
	text-align: right;
	white-space: nowrap;
}

.at-ticket-total-row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	align-items: center;
}

.at-request-hp,
[data-at-fields][hidden],
.at-request-field[hidden],
.at-event-accordion-panel[hidden],
.at-event-detail-template,
.at-request-modal--hidden,
.at-event-modal--hidden {
	display: none;
}

body.at-modal-open {
	overflow: hidden;
}

.at-request-modal,
.at-event-modal {
	position: fixed;
	inset: 0;
	z-index: var(--at-modal-z-index, 999999);
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	box-sizing: border-box;
}

.at-event-detail-modal {
	z-index: var(--at-detail-modal-z-index, 999900);
}

.at-event-form-modal,
.at-request-modal {
	z-index: var(--at-form-modal-z-index, 1000000);
}

.at-request-modal.is-open,
.at-event-modal.is-open {
	display: flex;
}

.at-request-modal.at-modal-position-top,
.at-event-modal.at-modal-position-top {
	align-items: flex-start;
}

.at-request-modal.at-modal-position-right,
.at-event-modal.at-modal-position-right {
	align-items: stretch;
	justify-content: flex-end;
}

.at-request-modal.at-modal-position-left,
.at-event-modal.at-modal-position-left {
	align-items: stretch;
	justify-content: flex-start;
}

.at-request-modal.at-modal-position-bottom,
.at-event-modal.at-modal-position-bottom {
	align-items: flex-end;
}

.at-request-modal-overlay,
.at-event-modal-overlay {
	position: fixed;
	inset: 0;
	z-index: 0;
	background: var(--at-modal-overlay, rgba(0, 0, 0, 0.65));
}

.at-request-modal-content,
.at-event-modal-content,
.at-request-standalone {
	position: relative;
	z-index: 1;
	width: var(--at-modal-width, 720px);
	max-width: var(--at-modal-max-width, calc(100vw - 48px));
	max-height: var(--at-modal-max-height, 90vh);
	overflow-y: auto;
	padding: var(--at-modal-padding, 28px);
	border-radius: var(--at-modal-radius, 22px);
	background: var(--at-modal-bg, Canvas);
	color: var(--at-modal-color, CanvasText);
}

.at-request-modal.at-modal-position-right .at-request-modal-content,
.at-request-modal.at-modal-position-left .at-request-modal-content,
.at-event-modal.at-modal-position-right .at-event-modal-content,
.at-event-modal.at-modal-position-left .at-event-modal-content {
	width: min(var(--at-modal-width, 720px), 92vw);
	max-height: 100%;
	border-radius: 0;
}

.at-event-accordion-panel {
	grid-column: 1 / -1;
	min-width: 0;
}

.at-event-accordion-panel.is-open {
	display: block;
}

@media (max-width: 1024px) {
	.at-events-grid,
	.at-event-month-items {
		grid-template-columns: repeat(var(--at-grid-columns-tablet, 2), minmax(0, 1fr));
	}

	.at-event-list-item,
	.at-event-list-item--has-image {
		grid-template-columns: minmax(140px, var(--at-eventon-image-width, 220px)) minmax(0, 1fr);
	}

	.at-event-list-item--has-image .at-event-list-image {
		grid-row: 1 / span 3;
	}

	.at-event-list-item--has-image .at-event-list-date,
	.at-event-list-item--has-image .at-event-list-content,
	.at-event-list-item--has-image .at-event-list-actions {
		grid-column: 2;
	}

	.at-eventon-item {
		grid-template-columns: minmax(0, 1fr);
	}

	.at-eventon-image--right .at-eventon-image,
	.at-eventon-image--right .at-eventon-content,
	.at-eventon-image--right .at-eventon-actions {
		order: initial;
	}

	.at-request-modal-content,
	.at-event-modal-content {
		width: var(--at-modal-width-tablet, calc(100vw - 40px));
	}
}

@media (max-width: 900px) {
	.at-event-compact-item,
		.at-event-hero,
		.at-event-detail-layout,
		.at-event-detail-grid,
		.at-detail-sidebar--left .at-event-detail-grid,
		.at-event-day-item,
	.at-event-detail-popup {
		grid-template-columns: 1fr;
	}

	.at-detail-sidebar--left .at-event-ticket-box {
		order: initial;
	}

	.at-detail-mobile-stack-content-first .at-event-detail-main {
		order: 1;
	}

	.at-detail-mobile-stack-content-first .at-event-ticket-sidebar {
		order: 2;
	}

	.at-detail-mobile-stack-ticket-first .at-event-detail-main {
		order: 2;
	}

	.at-detail-mobile-stack-ticket-first .at-event-ticket-sidebar {
		order: 1;
	}

	.at-detail-sidebar-sticky .at-event-ticket-sidebar {
		position: static;
	}

	.at-ticket-row {
		grid-template-columns: 1fr;
		align-items: stretch;
	}

	.at-ticket-qty,
	.at-ticket-quantity {
		width: 100%;
	}

	.at-ticket-qty-input {
		flex: 1 1 auto;
		width: auto;
	}

	.at-ticket-subtotal {
		text-align: left;
	}
}

@media (max-width: 640px) {
	.at-events-grid,
	.at-event-month-items {
		grid-template-columns: repeat(var(--at-grid-columns-mobile, 1), minmax(0, 1fr));
	}

	.at-event-list-item,
	.at-event-list-item--has-image,
	.at-event-month-row,
	.at-request-fields {
		grid-template-columns: 1fr;
	}

	.at-event-list-item--has-image .at-event-list-image,
	.at-event-list-item--has-image .at-event-list-date,
	.at-event-list-item--has-image .at-event-list-content,
	.at-event-list-item--has-image .at-event-list-actions {
		grid-column: auto;
		grid-row: auto;
	}

	.at-buttons-mobile-full .at-event-button,
	.at-buttons-mobile-full .at-event-detail-button {
		width: 100%;
	}

	.at-request-modal,
	.at-event-modal {
		padding: 10px;
	}

	.at-request-modal-content,
	.at-event-modal-content {
		width: var(--at-modal-width-mobile, 100%);
		max-width: 100%;
		max-height: 92vh;
	}

	.at-detail-context-popup {
		width: 100%;
		max-width: 100%;
		max-height: 92vh;
	}

	.at-detail-context-popup.at-popup-position-bottom {
		border-bottom-right-radius: 0;
		border-bottom-left-radius: 0;
	}
}
