:root {
	--global-content-narrow-width: 1200px;
}

@media (width<1100px) {
	#inner-wrap {
		margin-top: 0 !important;
	}
}

.tribe-events .tribe-events-header {
	display: grid;
	grid-template-areas: 'title toggle';
	grid-template-columns: 1fr min-content;
	margin-bottom: 2rem !important;
	background-color: var(--gray-lighter);
	border-radius: var(--radius) !important;
	padding: 10px 1rem !important;
	.tribe-events-c-top-bar {
		grid-area: title;
		margin: 0;
	}

	.tribe-events-c-events-bar {
		grid-area: toggle;
		margin: 0 !important;
	}
	.tribe-events-header__content-title {
		display: none;
	}
	button {
		padding: 0 !important;
	}
	.tribe-events-c-top-bar__today-button {
		background-color: var(--primary-color) !important;
		color: #fff !important;
		border-radius: var(--radius);
		text-decoration: none;
	}
	.tribe-events-c-top-bar__nav-link {
		svg > path {
			fill: var(--gray) !important;
		}
	}
	.datepicker {
		padding: 15px 5px;
		button {
			background: none;
			padding-block: 0.25em !important;
			border-radius: var(--radius-sm) !important;
			&.active,
			&:hover,
			&:hover.active {
				color: #fff;
				background-color: var(--primary-color) !important;
				text-shadow: none;
				background-image: none;
				&.old {
					color: #fff;
				}
			}
		}
		.datepicker-days button {
			margin-block: 2px;
		}
	}

	.tribe-events-header__messages {
		margin-bottom: 1rem;
		margin-top: 3rem;
		grid-column: 1 / -1;
	}
}
.tribe-common {
	--tec-color-text-events-title: var(--gray-dark);

	button {
		all: unset;
		margin: 0;
		cursor: pointer;
		border-radius: 0 !important;
		outline-color: transparent;
		border: none;
		height: 100%;
		text-align: center;
		width: auto;
		min-width: unset !important;
		padding: var(--tec-spacer-4) 0 !important;
		vertical-align: middle;
	}

	ul.tribe-events-calendar-list {
		.tribe-events-calendar-list__month-separator {
			justify-content: center;
			margin-top: 5rem !important;
			h3,
			h3 > time {
				font-size: var(--text-lg) !important;
				text-wrap: balance;
				color: var(--primary) !important;
				font-weight: 600 !important;
				text-transform: uppercase;
				font-family: var(--global-heading-font-family);
			}
		}

		@media (width>=816px) {
			.tribe-events-calendar-list__event {
				display: flex;
				flex-direction: row-reverse;
				flex-wrap: nowrap;
				align-items: center;
				.tribe-events-calendar-list__event-featured-image-wrapper {
					width: max(140px, 5vw);
				}
			}
		}
		@media (width<816px) {
			.tribe-events-calendar-list__event {
				flex-direction: column;
				.tribe-events-calendar-list__event-featured-image-wrapper {
					max-width: 200px;
				}
			}
		}

		.tribe-events-calendar-list__event-row {
			margin-left: 0;
			margin-right: 0;
			margin-top: 1rem;
			&:nth-child(even) {
				background-color: var(--gray-lightest) !important;
				padding-block: 1rem;
				border-radius: var(--radius);
				.tribe-events-calendar-list__event-date-tag-datetime {
					.tribe-events-calendar-list__event-date-tag-daynum {
						background-color: #fff !important;
					}
				}
			}
			article > .tribe-events-calendar-list__event-details {
				flex-grow: 2;
				.tribe-events-calendar-list__event-title-link {
					font-size: var(--text-md) !important;
					line-height: 1.2;
					display: block;
					&:is(:hover, :active, :focus) {
						color: var(--primary-color) !important;
						text-decoration: underline;
					}
				}
				.tribe-events-calendar-list__event-datetime span {
					color: var(--gray) !important;
				}
				.tribe-events-calendar-list__event-venue {
					margin-top: 0;
					span {
						color: var(--gray-dark) !important;
						&.tribe-events-calendar-list__event-venue-title {
							line-height: 1.2em;
							display: block;
							margin-top: 5px;
						}
					}
				}
			}

			.tribe-events-calendar-list__event-date-tag-weekday {
				color: var(--gray) !important;
				font-size: var(--text-sm) !important;
			}
			.tribe-events-calendar-list__event-date-tag-datetime {
				.tribe-events-calendar-list__event-date-tag-daynum {
					font-size: var(--text-lg) !important;
					font-weight: 600 !important;
					color: var(--primary) !important;
					background-color: var(--gray-lightest) !important;
					line-height: 1.25em !important;
					border: solid 1px var(--gray-lighter);
					border-radius: var(--radius);
					margin-top: 10px;
				}
			}
		}
	}
	.tribe-events-c-nav__list-item {
		&:has(button[disabled]) {
			opacity: 0;
		}
	}
}

body.single-tribe_events {
	.content-area {
		padding-top: 0;
	}
}

.tribe-events-single {
	margin-bottom: 5rem !important;

	.tribe-events-single-section.tribe-events-event-meta {
		gap: 1rem;
		& > div {
			background-color: var(--gray-lightest);
			border-radius: var(--radius-lg);
			padding: 1rem 1.5rem !important;
			margin: 0;
		}
		@media (width<680px) {
			flex-direction: column;
		}
	}
	.tribe-events-schedule {
		text-align: center;
		justify-content: center;
		gap: 1rem;
		background: none !important;
		& > div {
			display: flex;
			flex-direction: row;
			align-items: center;
			gap: 0.5rem;
			svg > path {
				fill: var(--primary-color) !important;
			}
		}
	}
	.tribe-events-c-subscribe-dropdown
		.tribe-events-c-subscribe-dropdown__button {
		padding: 0;
	}
	.tribe-events-event-image {
		max-width: 25rem;
		margin-inline: auto;
	}

	.tribe-related-events {
		.tribe-related-event-info {
			text-align: center;
			justify-content: center;
			padding: 0 10px 10px 0 !important;
			.tribe-related-events-title {
				text-align: center;
				color: var(--primary-color);
				font-size: var(--text-sm) !important;
				padding-inline: 0.5rem;
			}
		}
	}
	.tribe-events-abbr {
		display: contents;
	}
	.tribe-events-meta-item.tribe-venue {
		line-height: 1.2em;
	}

	.tribe-events-event-categories.tribe-events-meta-value a {
		text-decoration: none;
		color: var(--text-color) !important;
		font-style: oblique;
		pointer-events: none;
		&:is(:focus, :active, :hover) {
			color: var(--text-color) !important;
			font-style: oblique;
		}
	}
	.tribe-events-event-meta dl {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: start;
		column-gap: 0.5rem;
		dt {
			margin: 0;
		}
	}
	.tribe-events-meta-group-other > h2 {
		display: none;
	}

	.tribe-events-c-subscribe-dropdown {
		padding-inline: 15px;
		.tribe-events-c-subscribe-dropdown__button,
		.tribe-block__events-link .tribe-events-c-subscribe-dropdown__button {
		}
	}
}
@media (width<816px) {
	.tribe-common .tribe-common-g-row {
		flex-direction: column;
		row-gap: 2rem;
	}
	.tribe-events-calendar-list {
		width: 100dvw;
		margin-left: calc(var(--global-content-edge-padding) * (-1)) !important;
		.tribe-common-g-row.tribe-events-calendar-list__event-row {
			padding: 1rem !important;
		}
	}
}

.tribe-events-sub-nav {
	gap: 1rem;
	align-items: center;
	list-style: none !important;
	li {
		list-style: none !important;
		max-width: 50%;
		position: relative;
		&.tribe-events-nav-next {
			text-align: right;
			padding-right: 30px;
			&:has(a):after {
				content: '❯';
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
				right: 0;
				font-size: 150%;
				color: var(--primary-color);
			}
		}
		&.tribe-events-nav-previous {
			padding-left: 30px;
			&:has(a):before {
				content: '❮';
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
				left: 0;
				font-size: 150%;
				color: var(--primary-color);
			}
		}
	}
	& > li::marker {
		display: none !important;
		content: '';
	}
}

.tribe-events-c-subscribe-dropdown__button {
	text-align: right;
}

.tribe-events-c-subscribe-dropdown__content,
.tribe-events-c-view-selector__content {
	background-color: var(--gray-lightest);
	border: solid 1px var(--gray-lighter) !important;
	box-shadow: rgba(50, 50, 50, 0.25) 0px 0px 15px 1px !important;
	border-radius: var(--radius);
	width: fit-content;
}
.tribe-events-c-subscribe-dropdown__content {
	ul {
		padding: 5px 10px 25px !important;
	}
	a {
		text-decoration: none;
		&:is(:focus, :active, :hover) {
			color: var(--primary-color) !important;
		}
	}
}
