/**
 * Custom Styling for The Events Calendar Plugin
 * Show-Me Institute Theme
 * 
 * This file contains all custom styles for The Events Calendar plugin
 * to match the Show-Me Institute brand guidelines.
 */

/* ========================================
   GOOGLE FONTS & VARIABLES
   ======================================== */
:root {
	--smi-navy: #1e3a5f;
	--smi-navy-dark: #1e4877;
	--smi-blue: #4a7ba7;
	--smi-blue-light: #4e76a6;
	--smi-burgundy: #8b1538;
	--smi-burgundy-dark: #97002e;
	--smi-red: #c61a28;
	--smi-gray-light: #f5f5f5;
	--smi-gray-medium: #666666;
	--smi-gray-dark: #333333;
}

/* ========================================
   TOP NAVIGATION TABS
   ======================================== */
/* Hide only the main header, but we'll show events bar separately */
.tribe-events .tribe-events-header {
	display: none !important;
}

/* Show top-bar for month view (has navigation and view selector) */
.tribe-events-view--month .tribe-events-c-top-bar {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: 20px 0 30px !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Hide top-bar for list view */
.tribe-events-view--list .tribe-events-c-top-bar {
	display: none !important;
}

/* Remove blue overlay on hover */
.tribe-events-calendar-month__day:hover:before,
.tribe-events-calendar-month__day:hover:after {
	display: none !important;
}

.tribe-events-calendar-month__day:hover {
	background: white !important;
	cursor: default !important;
}

/* Custom Navigation Tabs Container */
.tribe-events-custom-nav {
	background: white;
	border-bottom: 2px solid #e5e5e5;
	padding: 0;
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	max-width: 1200px;
	margin: 0 auto 30px;
}

.tribe-events-custom-nav-tabs {
	display: flex;
	gap: 40px;
	padding: 0 20px;
}

.tribe-events-custom-nav-tab {
	color: var(--smi-navy) !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	text-decoration: none !important;
	padding: 20px 0 18px !important;
	border-bottom: 3px solid transparent !important;
	transition: all 0.3s ease !important;
	display: inline-block !important;
	position: relative !important;
	margin-bottom: -2px !important;
}

.tribe-events-custom-nav-tab:hover {
	color: var(--smi-blue) !important;
}

.tribe-events-custom-nav-tab--active {
	color: var(--smi-navy) !important;
	border-bottom-color: var(--smi-navy) !important;
}

/* Search and Filter Section */
.tribe-events-search-filter-section {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 0 20px 20px 20px;
}

.tribe-events-search-filter-label {
	font-family: "Montserrat", sans-serif !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	color: var(--smi-gray-dark) !important;
}

.tribe-events-filter-dropdown {
	min-width: 150px;
	padding: 8px 35px 8px 12px !important;
	border: 2px solid var(--smi-navy) !important;
	background: white !important;
	color: var(--smi-gray-dark) !important;
	font-family: "Montserrat", sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	appearance: none !important;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%231e3a5f%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3e%3cpolyline points=%226 9 12 15 18 9%22%3e%3c/polyline%3e%3c/svg%3e") !important;
	background-repeat: no-repeat !important;
	background-position: right 8px center !important;
	background-size: 20px !important;
	cursor: pointer !important;
}

/* Hide duplicate navigation tabs added by JS */
.smi-events-tabs,
.smi-view-toggles {
	display: none !important;
}

/* Fix loader dots size */
.tribe-events-view-loader {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	z-index: 9999 !important;
	display: none !important; /* Hide by default */
}

.tribe-events-view--loading .tribe-events-view-loader {
	display: block !important;
}

.tribe-events-view-loader__dots {
	display: flex !important;
	gap: 8px !important;
	align-items: center !important;
	justify-content: center !important;
}

.tribe-common-c-loader__dot {
	width: 12px !important;
	height: 12px !important;
	fill: var(--smi-navy) !important;
	opacity: 0.3 !important;
	animation: tribe-loader 1.2s linear infinite !important;
}

.tribe-common-c-loader__dot--first {
	animation-delay: 0s !important;
}

.tribe-common-c-loader__dot--second {
	animation-delay: 0.2s !important;
}

.tribe-common-c-loader__dot--third {
	animation-delay: 0.4s !important;
}

@keyframes tribe-loader {
	0%,
	60%,
	100% {
		opacity: 0.3;
	}
	30% {
		opacity: 1;
	}
}

.tribe-events-header__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

/* Custom Navigation Tabs */
.tribe-events-c-nav__list {
	display: flex;
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Ensure list view navigation stays horizontal */
.tribe-events-view--list .tribe-events-c-nav__list {
	flex-direction: row !important;
}

.tribe-events-c-nav__link,
.tribe-events-header__events-bar-title a {
	color: var(--smi-navy) !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	text-decoration: none !important;
	padding-bottom: 8px !important;
	border-bottom: 3px solid transparent !important;
	transition: border-color 0.3s ease !important;
}

.tribe-events-c-nav__link:hover,
.tribe-events-c-nav__link--active,
.tribe-events-header__events-bar-title a:hover {
	border-bottom-color: var(--smi-navy) !important;
}

/* ========================================
   SEARCH & FILTER AREA
   ======================================== */
.tribe-events-c-search {
	display: flex;
	align-items: center;
	gap: 15px;
}

.tribe-events-c-search__input-group {
	display: flex;
	align-items: center;
	gap: 10px;
}

.tribe-events-c-search__input-group-label {
	font-family: "Montserrat", sans-serif !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	color: var(--smi-gray-dark) !important;
}

.tribe-events-c-search__input,
.tribe-common-form-control-text__input,
select.tribe-common-form-control-select__input {
	border: 2px solid var(--smi-navy) !important;
	height: 50px !important;
	padding: 0 15px !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	background: white !important;
	color: var(--smi-gray-dark) !important;
	font-family: "Montserrat", sans-serif !important;
}

/* ========================================
   MONTH VIEW TOP BAR STYLING
   ======================================== */

/* Navigation Section (prev/next arrows + datepicker) */
.tribe-events-c-top-bar__nav {
	display: flex !important;
	align-items: center !important;
	gap: 20px !important;
}

.tribe-events-c-top-bar__nav-link {
	color: #8b1538 !important;
	font-size: 24px !important;
	transition: color 0.3s ease !important;
}

.tribe-events-c-top-bar__nav-link:hover {
	color: #1e3a5f !important;
}

/* Month/Year Datepicker Button - Remove all borders and hover states */
.tribe-events-c-top-bar__datepicker-button,
.tribe-events-c-top-bar__datepicker-button.tribe-common-c-btn__clear,
button.tribe-events-c-top-bar__datepicker-button {
	font-family: Georgia, "Times New Roman", serif !important;
	color: #8b1538 !important;
	font-size: 32px !important;
	font-weight: 400 !important;
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	border-width: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	cursor: default !important;
	padding: 0 !important;
	pointer-events: none !important; /* Disable clicking to prevent datepicker popup */
}

.tribe-events-c-top-bar__datepicker-button:hover,
.tribe-events-c-top-bar__datepicker-button:focus,
.tribe-events-c-top-bar__datepicker-button:active,
.tribe-events-c-top-bar__datepicker-button.tribe-common-c-btn__clear:hover,
.tribe-events-c-top-bar__datepicker-button.tribe-common-c-btn__clear:focus,
button.tribe-events-c-top-bar__datepicker-button:hover {
	color: #8b1538 !important; /* Keep same color on hover */
	border: none !important;
	border-width: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	background: none !important;
	background-color: transparent !important;
}

/* Hide the dropdown arrow icon in the datepicker button */
.tribe-events-c-top-bar__datepicker-button-icon-svg,
.tribe-events-c-top-bar__datepicker-button svg {
	display: none !important;
}

/* Hide the "Select date" label and input field */
.tribe-events-c-top-bar__datepicker-label,
.tribe-events-c-top-bar__datepicker-input,
.tribe-events-c-top-bar__datepicker-container label,
.tribe-events-c-top-bar__datepicker-container input {
	display: none !important;
}

/* Rearrange the top bar navigation - put arrows on either side of month */
.tribe-events-c-top-bar__datepicker {
	display: flex !important;
	align-items: center !important;
	gap: 20px !important;
	order: 2 !important;
}

/* Previous arrow on the left */
.tribe-events-c-top-bar__nav-prev {
	order: 1 !important;
}

/* Next arrow on the right */
.tribe-events-c-top-bar__nav-next {
	order: 3 !important;
}

/* Hide the separator and extra date display */
.tribe-events-c-top-bar__datepicker-separator,
.tribe-events-c-top-bar__datepicker-mobile {
	display: none !important;
}

/* Show only desktop month display */
.tribe-events-c-top-bar__datepicker-desktop {
	display: inline !important;
}

/* Hide Today button */
.tribe-events-c-top-bar__today-button {
	display: none !important;
}

/* Hide subscribe button completely */
.tribe-events-c-subscribe-dropdown,
.tribe-events-c-subscribe-dropdown__button,
.tribe-events-c-subscribe-dropdown__button.tribe-common-c-btn-border {
	display: none !important;
}

/* ========================================
   VIEW SELECTOR STYLING
   ======================================== */

/* Hide the default events bar but show our custom view selector */
.tribe-events .tribe-events-header__events-bar {
	display: block !important;
	background: white !important;
	border: none !important;
	padding: 20px 0 !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
}

/* Hide everything in events bar except view selector */
.tribe-events .tribe-events-header__events-bar .tribe-events-c-search,
.tribe-events
	.tribe-events-header__events-bar
	.tribe-events-c-events-bar__search,
.tribe-events .tribe-events-header__events-bar .tribe-events-c-search__button {
	display: none !important;
}

/* View Selector Container - the pill background */
.tribe-events-c-view-selector,
.tribe-events .tribe-events-c-view-selector {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 auto !important;
	width: fit-content !important;
}

/* View selector button group */
.tribe-events-c-view-selector__button,
.tribe-events .tribe-events-c-view-selector__button {
	display: none !important; /* Hide the mobile toggle button */
}

/* View selector list container */
.tribe-events-c-view-selector__list,
.tribe-events .tribe-events-c-view-selector__list {
	display: flex !important;
	gap: 8px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 6px !important;
	background: #f0f4f8 !important;
	border-radius: 25px !important;
}

/* Individual view items */
.tribe-events-c-view-selector__list-item {
	margin: 0 !important;
	display: block !important;
}

/* View selector links/buttons */
.tribe-events-c-view-selector__list-item-link,
.tribe-events-c-view-selector__list-item a,
.tribe-events-c-view-selector__list-item button {
	padding: 10px 24px !important;
	background: transparent !important;
	color: #666 !important;
	font-family: "Montserrat", sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-transform: capitalize !important;
	border: none !important;
	border-radius: 20px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	text-decoration: none !important;
	display: inline-block !important;
}

/* Hover state */
.tribe-events-c-view-selector__list-item-link:hover,
.tribe-events-c-view-selector__list-item a:hover,
.tribe-events-c-view-selector__list-item button:hover {
	background: #e0e7ef !important;
	color: #333 !important;
}

/* Active/selected view */
.tribe-events-c-view-selector__list-item--active
	.tribe-events-c-view-selector__list-item-link,
.tribe-events-c-view-selector__list-item--active a,
.tribe-events-c-view-selector__list-item--active button {
	background: white !important;
	color: #1e3a5f !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08) !important;
}

/* Hide view selector icons */
.tribe-events-c-view-selector__list-item-icon {
	display: none !important;
}

/* Hide view selector text if it says "View As" */
.tribe-events-c-view-selector__button-text {
	display: none !important;
}

/* ========================================
   VIEW TOGGLE BUTTONS - Additional Styling
   ======================================== */
/* Button styling is handled above with the list items */

/* ========================================
   CALENDAR GRID STYLING
   ======================================== */

/* Calendar Container - Grid Layout */
.tribe-events-calendar-month {
	display: grid !important;
	grid-template-columns: repeat(7, 1fr) !important;
	gap: 0 !important;
	border: 1px solid #d1d5db !important;
	background: white !important;
	max-width: 1200px !important;
	margin: 30px auto !important;
	visibility: visible !important;
}

/* Day of Week Headers */
.tribe-events-calendar-month__header-column-title {
	padding: 12px !important;
	text-align: center !important;
	border-bottom: 2px solid #d1d5db !important;
	border-right: 1px solid #d1d5db !important;
	background: #f9fafb !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	color: #1e3a5f !important;
}

.tribe-events-calendar-month__header-column-title:last-child {
	border-right: none !important;
}

/* Hide mobile header text on desktop */
.tribe-events-calendar-month__header-column-title-mobile {
	display: none !important;
}

/* Show desktop header text */
.tribe-events-calendar-month__header-column-title-desktop {
	display: inline !important;
}

/* Calendar Day Cells - Desktop */
.tribe-events-calendar-month__day-cell--desktop {
	display: block !important;
	background: white !important;
	min-height: 120px !important;
	padding: 10px !important;
	border-right: 1px solid #d1d5db !important;
	border-bottom: 1px solid #d1d5db !important;
	position: relative !important;
}

/* Remove right border on last column */
.tribe-events-calendar-month__day-cell--desktop:nth-child(7n) {
	border-right: none !important;
}

/* Hide mobile day cells on desktop */
.tribe-events-calendar-month__day-cell--mobile {
	display: none !important;
}

/* Day Number Styling */
.tribe-events-calendar-month__day-date-daynum {
	font-family: "Montserrat", sans-serif !important;
	font-weight: 400 !important;
	font-size: 16px !important;
	color: #333 !important;
	display: block !important;
	margin-bottom: 8px !important;
}

/* Event Blocks in Calendar - Title Only */
.tribe-events-calendar-month__calendar-event,
.tribe-events-calendar-month__multiday-event-bar {
	background: #4a7ba7 !important;
	color: white !important;
	padding: 6px 8px 24px 8px !important; /* Reserve space for "Learn more" */
	margin: 2px 0 !important;
	border-radius: 3px !important;
	font-size: 12px !important;
	line-height: 1.3 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	text-decoration: none !important;
	transition: background 0.2s ease !important;
	position: relative !important;
	overflow: hidden !important;
	min-height: 42px !important; /* Ensure consistent height */
}

/* Hide everything except title in calendar events */
.tribe-events-calendar-month__calendar-event
	.tribe-events-calendar-month__calendar-event-featured-image,
.tribe-events-calendar-month__calendar-event
	.tribe-events-calendar-month__calendar-event-datetime,
.tribe-events-calendar-month__calendar-event
	.tribe-events-calendar-month__calendar-event-description,
.tribe-events-calendar-month__calendar-event
	.tribe-events-calendar-month__calendar-event-tooltip-description,
.tribe-events-calendar-month__calendar-event
	.tribe-events-calendar-month__calendar-event-tooltip-datetime,
.tribe-events-calendar-month__calendar-event
	.tribe-events-calendar-month__calendar-event-tooltip-featured-image,
.tribe-events-calendar-month__calendar-event
	.tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper,
.tribe-events-calendar-month__calendar-event
	.tribe-events-calendar-month__calendar-event-tooltip-title,
.tribe-events-calendar-month__calendar-event time,
.tribe-events-calendar-month__calendar-event-time,
.tribe-events-calendar-month__multiday-event-bar time,
.tribe-events-calendar-month__multiday-event-bar
	.tribe-events-calendar-month__multiday-event-bar-inner
	time,
.tribe-events-calendar-month__calendar-event-tooltip-categories,
.tribe-events-calendar-month__calendar-event-tooltip-cost,
.tribe-events-calendar-month__calendar-event .tribe-events-pro-categories__list,
.tribe-events-calendar-month__day-cell .tribe-common-a11y-visual-hide,
.tribe-events-calendar-month__day .tribe-common-a11y-visual-hide {
	display: none !important;
}

/* Style event title - Bold and Centered */
.tribe-events-calendar-month__calendar-event-title,
.tribe-events-calendar-month__calendar-event-title-link,
.tribe-events-calendar-month__multiday-event-bar-title,
.tribe-events-calendar-month__multiday-event-bar-title-link {
	color: white !important;
	text-decoration: none !important;
	font-size: 12px !important;
	line-height: 1.3 !important;
	display: block !important;
	font-weight: 700 !important; /* Bold */
	margin: 0 !important;
	text-align: center !important;
	width: 100% !important;
}

/* Hover state */
.tribe-events-calendar-month__calendar-event:hover,
.tribe-events-calendar-month__multiday-event-bar:hover {
	background: #3a6897 !important;
	cursor: pointer !important;
}

/* "Learn more" text - Hidden by default, shown on hover below title */
.tribe-events-calendar-month__calendar-event::after,
.tribe-events-calendar-month__multiday-event-bar::after {
	content: "Learn more" !important;
	position: absolute !important;
	bottom: 4px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	font-size: 10px !important;
	color: white !important;
	font-weight: 700 !important; /* Bold */
	font-style: normal !important;
	white-space: nowrap !important;
	text-align: center !important;
	opacity: 0 !important; /* Hidden by default */
	transition: opacity 0.2s ease !important;
}

.tribe-events-calendar-month__calendar-event:hover::after,
.tribe-events-calendar-month__multiday-event-bar:hover::after {
	opacity: 1 !important; /* Visible on hover */
}

/* ========================================
   LIST VIEW STYLING - ENHANCED SPECIFICITY
   ======================================== */

/* Main List Container */
.tribe-events-view--list .tribe-events-calendar-list {
	padding: 40px 0 !important;
	background: transparent !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
}

/* Remove any default padding/margins */
.tribe-events-view--list .tribe-events-l-container {
	padding: 0 !important;
}

/* Month Separator Headers */
.tribe-events-view--list .tribe-events-calendar-list__month-separator {
	margin: 0 0 30px 0 !important;
	padding: 0 0 15px 0 !important;
	border: none !important;
	border-bottom: 1px solid #e5e5e5 !important;
	background: transparent !important;
}

.tribe-events-view--list .tribe-events-calendar-list__month-separator-text {
	font-family: Georgia, "Times New Roman", serif !important;
	color: #8b1538 !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	line-height: 1.2 !important;
}

/* First month separator - no top margin */
.tribe-events-view--list
	.tribe-events-calendar-list__month-separator:first-of-type {
	margin-top: 0 !important;
}

/* Subsequent month separators - add top spacing between months */
.tribe-events-view--list
	.tribe-events-calendar-list__month-separator:not(:first-of-type) {
	margin-top: 50px !important;
}

/* Event Row Container - Hide default date column */
.tribe-events-view--list .tribe-events-calendar-list__event-row {
	display: block !important;
	margin: 0 0 40px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

/* Hide the default date tag column */
.tribe-events-view--list
	.tribe-events-calendar-list__event-date-tag.tribe-common-g-col {
	display: none !important;
}

.tribe-events-view--list .tribe-events-calendar-list__event-wrapper {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

/* Individual Event Card - Horizontal Grid Layout */
.tribe-events-view--list .tribe-events-calendar-list__event.smi-event-card,
.tribe-events-view--list .smi-event-card,
.tribe-events-view--list article.smi-event-card {
	display: grid !important;
	grid-template-columns: 413px 1fr !important;
	gap: 30px !important;
	background: white !important;
	border: none !important;
	border-bottom: 1px solid #e5e5e5 !important;
	border-radius: 0 !important;
	overflow: visible !important;
	margin: 0 0 30px 0 !important;
	padding: 0 0 30px 0 !important;
	box-shadow: none !important;
	width: 100% !important;
	align-items: start !important;
}

/* Event Image Wrapper with Date Badge */
.tribe-events-view--list .smi-event-image-wrapper {
	position: relative !important;
	width: 413px !important;
	height: 233px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: #000 !important;
}

/* Dark overlay on image */
.tribe-events-view--list .smi-event-image-wrapper::before {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background: rgba(0, 0, 0, 0.4) !important;
	z-index: 1 !important;
}

/* Event Image Container */
.tribe-events-view--list
	.smi-event-image-wrapper
	.tribe-events-calendar-list__event-featured-image-wrapper {
	position: static !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tribe-events-view--list .smi-event-image-wrapper img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

/* Custom Date Badge Overlay - Blue badge in top left */
.tribe-events-view--list .smi-event-image-wrapper .smi-date-badge {
	margin-top: 1rem !important;
	margin-left: 1rem !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	background: #4a7ba7 !important;
	color: white !important;
	padding: 0.75rem 1.125rem !important;
	text-align: center !important;
	min-width: 4.375rem !important;
	z-index: 20 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
}

.tribe-events-view--list .smi-date-badge-month {
	font-family: "Montserrat", sans-serif !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	line-height: 1 !important;
	margin-bottom: 4px !important;
	color: white !important;
}

.tribe-events-view--list .smi-date-badge-day {
	font-family: "Montserrat", sans-serif !important;
	font-weight: 700 !important;
	font-size: 24px !important;
	line-height: 1 !important;
	margin-bottom: 4px !important;
	color: white !important;
}

.tribe-events-view--list .smi-date-badge-time {
	font-family: "Montserrat", sans-serif !important;
	font-weight: 600 !important;
	font-size: 12px !important;
	line-height: 1 !important;
	color: white !important;
}

/* Date Badge Overlay on Image */
.tribe-events-calendar-list__event-date-tag,
.tribe-events-calendar-list__event-datetime-wrapper {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	background: var(--smi-blue) !important;
	color: white !important;
	padding: 10px 15px !important;
	text-align: center !important;
	border-radius: 0 !important;
	min-width: 82px !important;
	z-index: 10 !important;
}

.tribe-events-calendar-list__event-date-tag-month,
.tribe-events-calendar-list__month {
	font-family: "Montserrat", sans-serif !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	display: block !important;
	margin-bottom: 2px !important;
	letter-spacing: 0.5px !important;
}

.tribe-events-calendar-list__event-date-tag-daynum,
.tribe-events-calendar-list__day {
	font-family: "Montserrat", sans-serif !important;
	font-weight: 700 !important;
	font-size: 20px !important;
	display: block !important;
	line-height: 1 !important;
	margin-bottom: 4px !important;
}

.tribe-events-calendar-list__event-datetime,
.tribe-events-calendar-list__event-datetime-time {
	font-family: "Montserrat", sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	display: block !important;
	line-height: 1.2 !important;
}

/* Event Content Area - Right Side */
.tribe-events-view--list .smi-event-content,
.tribe-events-view--list
	.tribe-events-calendar-list__event-details.smi-event-content {
	flex: 1 !important;
	padding: 0 20px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: flex-start !important;
	gap: 12px !important;
	min-height: 233px !important;
}

/* Event Category/Meta - Top Line */
.tribe-events-view--list .tribe-events-pro-categories__list,
.tribe-events-view--list .tribe-events-calendar-list__event-categories {
	font-family: "Montserrat", sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	color: #666 !important;
	margin: 0 0 8px 0 !important;
	order: -1 !important;
}

/* Subject/Date line */
.tribe-events-view--list .tribe-events-calendar-list__event-meta {
	font-family: "Montserrat", sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	color: #666 !important;
	margin: 0 0 8px 0 !important;
}

/* Event Title */
.tribe-events-view--list .tribe-events-calendar-list__event-title {
	margin: 0 !important;
	order: 0 !important;
}

.tribe-events-view--list .tribe-events-calendar-list__event-title h3 {
	margin: 0 !important;
	padding: 0 !important;
}

.tribe-events-view--list .tribe-events-calendar-list__event-title a,
.tribe-events-view--list .tribe-events-calendar-list__event-title-link {
	font-family: Georgia, "Times New Roman", serif !important;
	color: #000 !important;
	font-size: 24px !important;
	line-height: 1.4 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: color 0.3s ease !important;
	display: block !important;
}

.tribe-events-view--list .tribe-events-calendar-list__event-title a:hover {
	color: #000 !important;
	text-decoration: none !important;
}

/* Event Description/Excerpt - Hide it */
.tribe-events-view--list .tribe-events-calendar-list__event-description {
	display: none !important;
}

/* Venue Info */
.tribe-events-view--list .tribe-events-calendar-list__event-venue {
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 14px !important;
	color: #333 !important;
	margin: 8px 0 !important;
	line-height: 1.4 !important;
	order: 2 !important;
}

.tribe-events-view--list .tribe-events-calendar-list__event-venue-name,
.tribe-events-view--list .tribe-events-calendar-list__event-venue-address {
	display: block !important;
}

/* Register Button */
.tribe-events-view--list .tribe-events-calendar-list__event-cost,
.tribe-events-view--list .tribe-events-c-action__button,
.tribe-events-view--list .tribe-events-calendar-list__event-cost-button {
	order: 3 !important;
	margin: 12px 0 0 0 !important;
}

.tribe-events-view--list .tribe-events-c-action__button,
.tribe-events-view--list .tribe-events-calendar-list__event-cost a,
.tribe-events-view--list .tribe-events-calendar-list__event-cost-button,
.tribe-events-view--list .tribe-common-c-btn-border {
	background: #a73a2f !important;
	color: white !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	padding: 10px 24px !important;
	border: none !important;
	border-radius: 0 !important;
	text-decoration: none !important;
	display: inline-block !important;
	transition: background 0.3s ease !important;
	cursor: pointer !important;
	align-self: flex-start !important;
}

.tribe-events-view--list .tribe-events-c-action__button:hover,
.tribe-events-view--list .tribe-events-calendar-list__event-cost a:hover,
.tribe-events-view--list .tribe-events-calendar-list__event-cost-button:hover {
	background: #8b1538 !important;
	color: white !important;
	text-decoration: none !important;
}

/* Add arrow to Register button */
.tribe-events-view--list .tribe-events-c-action__button:after,
.tribe-events-view--list .tribe-events-calendar-list__event-cost a:after,
.tribe-events-view--list .tribe-events-calendar-list__event-cost-button:after {
	content: " >" !important;
	margin-left: 6px !important;
	font-weight: 600 !important;
}

/* Remove default plugin spacing and borders */
.tribe-events-calendar-list__event-row {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

.tribe-common-g-row--gutters {
	margin: 0 !important;
	padding: 0 !important;
}

/* ========================================
   LIST VIEW PAGINATION/NAVIGATION
   ======================================== */

/* Pagination Navigation at bottom of list view */
.tribe-events-view--list .tribe-events-c-nav {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	margin: 3rem 0 2rem !important;
	padding: 0 !important;
}

.tribe-events-view--list .tribe-events-c-nav__list {
	display: flex !important;
	flex-direction: row !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 1200px !important;
	list-style: none !important;
	margin: 0 auto !important;
	padding: 0 !important;
	flex-wrap: nowrap !important;
}

/* List items inline */
.tribe-events-view--list .tribe-events-c-nav__list-item,
.tribe-events-view--list .tribe-events-c-nav__list li {
	display: inline-flex !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: none !important;
	flex: 0 0 auto !important;
}

/* Force previous to left, next to right */
.tribe-events-view--list .tribe-events-c-nav__list li:first-child {
	margin-right: auto !important;
}

.tribe-events-view--list .tribe-events-c-nav__list li:last-child {
	margin-left: auto !important;
}

/* Previous/Next Links - Apply to all elements (a, button, li) */
.tribe-events-view--list .tribe-events-c-nav__prev,
.tribe-events-view--list .tribe-events-c-nav__next,
.tribe-events-view--list .tribe-events-c-nav__prev-nav,
.tribe-events-view--list .tribe-events-c-nav__next-nav,
.tribe-events-view--list a.tribe-events-c-nav__prev,
.tribe-events-view--list a.tribe-events-c-nav__next,
.tribe-events-view--list button.tribe-events-c-nav__prev,
.tribe-events-view--list button.tribe-events-c-nav__next {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 44px !important;
	min-width: 140px !important;
	padding: 0 30px !important;
	background-color: #1e4877 !important;
	color: white !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	text-decoration: none !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	vertical-align: middle !important;
}

.tribe-events-view--list .tribe-events-c-nav__prev:hover,
.tribe-events-view--list .tribe-events-c-nav__next:hover,
.tribe-events-view--list a.tribe-events-c-nav__prev:hover,
.tribe-events-view--list a.tribe-events-c-nav__next:hover,
.tribe-events-view--list button.tribe-events-c-nav__prev:hover,
.tribe-events-view--list button.tribe-events-c-nav__next:hover {
	background-color: #4e76a6 !important;
	color: white !important;
}

/* Hide the Today button in list view */
.tribe-events-view--list .tribe-events-c-nav__today {
	display: none !important;
}

/* Hide Navigation Icons/Arrows */
.tribe-events-view--list .tribe-events-c-nav__prev-icon,
.tribe-events-view--list .tribe-events-c-nav__next-icon,
.tribe-events-view--list .tribe-events-c-nav__prev svg,
.tribe-events-view--list .tribe-events-c-nav__next svg,
.tribe-events-view--list .tribe-events-c-nav__prev .tribe-common-svgicon,
.tribe-events-view--list .tribe-events-c-nav__next .tribe-common-svgicon {
	display: none !important;
}

/* Previous/Next Label - ensure proper display */
.tribe-events-view--list .tribe-events-c-nav__prev-label,
.tribe-events-view--list .tribe-events-c-nav__next-label {
	display: inline-block !important;
	line-height: 44px !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}

/* ========================================
   RESPONSIVE DESIGN
   ======================================== */
@media (max-width: 1024px) {
	.tribe-events-view--list .smi-event-card {
		grid-template-columns: 350px 1fr !important;
		gap: 30px !important;
	}

	.tribe-events-view--list .smi-event-image-wrapper {
		width: 350px !important;
		height: 200px !important;
	}
}

@media (max-width: 768px) {
	.tribe-events-view--list .smi-event-card {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	.tribe-events-view--list .smi-event-image-wrapper {
		width: 100% !important;
		height: 200px !important;
	}
}

@media (max-width: 768px) {
	.tribe-events-header__top {
		flex-direction: column;
		align-items: flex-start;
	}

	.tribe-events-c-nav__list {
		flex-direction: column;
		gap: 10px;
	}
	
	/* Override for list view pagination - keep inline */
	.tribe-events-view--list .tribe-events-c-nav__list {
		flex-direction: row !important;
	}

	.tribe-events-c-search {
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
	}

	.tribe-events-c-search__input,
	select.tribe-common-form-control-select__input {
		width: 100% !important;
	}
}

/* ========================================
   ADDITIONAL PLUGIN OVERRIDES
   ======================================== */
/* Remove default plugin shadows and borders */
.tribe-events .tribe-common-g-row,
.tribe-events .tribe-common-l-container {
	box-shadow: none !important;
	border: none !important;
}

/* Override default link colors */
.tribe-events a {
	color: var(--smi-blue);
}

.tribe-events a:hover {
	color: var(--smi-navy);
}

/* Clean up spacing */
.tribe-events-calendar-month {
	padding: 0 !important;
}

/* Override default button styles */
.tribe-events button,
.tribe-events .tribe-common-c-btn-border {
	background: transparent !important;
	border: 2px solid var(--smi-navy) !important;
	color: var(--smi-navy) !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
}

.tribe-events button:hover,
.tribe-events .tribe-common-c-btn-border:hover {
	background: var(--smi-navy) !important;
	color: white !important;
}

/* Month Navigation Arrows */
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next {
	background: var(--smi-navy) !important;
	color: white !important;
	border-radius: 50% !important;
	width: 40px !important;
	height: 40px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 18px !important;
}

.tribe-events-c-nav__prev:hover,
.tribe-events-c-nav__next:hover {
	background: var(--smi-blue) !important;
}

/* Today Highlight */
.tribe-events-calendar-month__day--today {
	background: #fff9e6 !important;
}

.tribe-events-calendar-month__day--today
	.tribe-events-calendar-month__day-number {
	background: var(--smi-burgundy) !important;
	color: white !important;
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 0 8px 0 !important;
}

/* Loading State */
.tribe-events-view--loading {
	opacity: 0.5 !important;
}

/* Tooltip Styling */
.tribe-events-tooltip {
	background: var(--smi-navy) !important;
	color: white !important;
	padding: 15px !important;
	border-radius: 4px !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

.tribe-events-tooltip h3 {
	color: white !important;
	margin-bottom: 10px !important;
}

/* ========================================
   ADDITIONAL LIST VIEW FIXES
   ======================================== */

/* Remove extra padding from containers */
.tribe-events .tribe-events-l-container {
	padding: 0 20px !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
}

/* Ensure proper alignment */
.tribe-events-calendar-list__event-header {
	display: none !important;
}

/* Fix for any lingering date columns */
.tribe-events-calendar-list__event-date-tag-weekday,
.tribe-events-calendar-list__event-date-tag-datetime {
	display: none !important;
}

/* Remove default borders and backgrounds */
.tribe-events-calendar-list__event-row .tribe-common-g-col {
	padding: 0 !important;
	background: transparent !important;
}

/* Ensure full width layout */
.tribe-events-calendar-list__event-wrapper {
	width: 100% !important;
}

/* Fix navigation border */
.tribe-events-custom-nav {
	border-bottom: 3px solid #8b1538 !important;
}

/* ========================================
   LOADER DOTS STYLING
   ======================================== */

/* Fix loader dots size and animation */
.tribe-events-view-loader {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	z-index: 9999 !important;
	display: none !important; /* Hide by default */
}

.tribe-events-view--loading .tribe-events-view-loader {
	display: block !important;
}

.tribe-events-view-loader__dots {
	display: flex !important;
	gap: 8px !important;
	align-items: center !important;
	justify-content: center !important;
}

.tribe-common-c-loader__dot {
	width: 12px !important;
	height: 12px !important;
	fill: var(--smi-navy) !important;
	opacity: 0.3 !important;
	animation: tribe-loader 1.2s linear infinite !important;
}

.tribe-common-c-loader__dot--first {
	animation-delay: 0s !important;
}

.tribe-common-c-loader__dot--second {
	animation-delay: 0.2s !important;
}

.tribe-common-c-loader__dot--third {
	animation-delay: 0.4s !important;
}

@keyframes tribe-loader {
	0%,
	60%,
	100% {
		opacity: 0.3;
	}
	30% {
		opacity: 1;
	}
}

/* ========================================
   MOBILE RESPONSIVE
   ======================================== */
@media (max-width: 768px) {
	/* Override to keep list view pagination horizontal */
	.tribe-events-view--list .tribe-events-c-nav__list {
		flex-direction: row !important;
	}
	
	/* Stack event cards vertically */
	.tribe-events-calendar-list__event {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	/* Full width image on mobile */
	.tribe-events-calendar-list__event-featured-image-wrapper {
		width: 100% !important;
		height: 200px !important;
	}

	/* Adjust date badge position */
	.smi-date-badge {
		top: 10px !important;
		left: 10px !important;
		padding: 10px 15px !important;
	}

	/* Stack navigation */
	.tribe-events-custom-nav {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.tribe-events-custom-nav-tabs {
		justify-content: center !important;
		gap: 20px !important;
		padding: 15px !important;
	}

	.tribe-events-search-filter-section {
		flex-direction: column !important;
		align-items: stretch !important;
		padding: 15px !important;
		gap: 10px !important;
	}

	.tribe-events-filter-dropdown {
		width: 100% !important;
	}
}
