/* The Events Calendar v2: ABMC branding over the plugin's skeleton layout.
 * Values mirror the Pattern Lab theme; this WordPress stylesheet needs no build.
 * Keep the plugin's visibility classes and container breakpoints intact.
 */
.tribe-common.tribe-events-view {
	--tec-font-family-sans-serif: myriad-pro, "Helvetica Neue", Helvetica, Arial, sans-serif;
	--tec-color-text-primary: #1c1d1f;
	--tec-color-text-secondary: #5d5d5d;
	--tec-color-text-events-title: #00205c;
	--tec-color-text-event-title: #00205c;
	--tec-color-accent-primary: #00205c;
	--tec-color-accent-primary-hover: #807552;
	--tec-color-accent-primary-active: #00205c;
	--tec-color-accent-primary-background: #eceae5;
	--tec-color-accent-secondary: #00205c;
	--tec-color-link-primary: #00205c;
	--tec-color-link-accent: #00205c;
	--tec-color-link-accent-hover: #807552;
	--tec-color-icon-primary: #00205c;
	--tec-color-icon-active: #00205c;
	--tec-color-icon-focus: #005ea2;
	--tec-color-border-default: #d9d6cb;
	--tec-color-border-secondary: #eceae5;
	--tec-color-border-active: #00205c;
	--tec-color-background-secondary: #eceae5;
	--tec-color-background-messages: #eceae5;
	--tec-color-background-primary-multiday: #eceae5;
	--tec-color-background-primary-multiday-hover: #d9d6cb;
	color: var(--tec-color-text-primary);
	font-family: var(--tec-font-family-sans-serif);
	font-size: 1rem;
	line-height: 1.5;
}

.tribe-events-view.tribe-events .tribe-events-l-container {
	min-height: 0;
	padding: 2rem 0 3rem;
}

.tribe-events-view :is(button, input, select) {
	font-family: inherit;
	font-size: inherit;
}

.tribe-events-view :is(h2, h3, h4) {
	color: #00205c;
	font-family: inherit;
	line-height: 1.3;
}

.tribe-events-view a {
	color: #00205c;
}

.tribe-events-view a:hover {
	color: #807552;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.tribe-common.tribe-events-view :is(a, button, input, select):focus-visible {
	outline: 3px solid #005ea2;
	outline-offset: 3px;
}

/* View selector, search (when enabled), and date navigation. */
.tribe-events-view :is(.tribe-events-c-top-bar__datepicker-button, .tribe-events-c-view-selector__button,
	.tribe-events-c-subscribe-dropdown__button-text, .tribe-events-calendar-month__day-cell--mobile) {
	border: 0;
	background: transparent;
	cursor: pointer;
}

.tribe-events-view :is(.tribe-events-c-top-bar__datepicker-button, .tribe-events-c-view-selector__button) {
	padding: 0.5rem;
}

.tribe-events-view .tribe-events-c-top-bar__nav-link {
	display: inline-flex;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	min-width: 2.75rem;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
}

/* Mobile month navigation uses separate links/buttons from the desktop arrows. */
.tribe-events-view .tribe-events-calendar-month-nav :is(.tribe-events-c-nav__prev, .tribe-events-c-nav__next, .tribe-events-c-nav__today) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 2.75rem;
	margin: 0;
	padding: 0.625rem 0.75rem;
	border: 1px solid #00205c;
	border-radius: 4px;
	background: #fff;
	color: #00205c;
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.25;
	text-decoration: none;
}

.tribe-events-view .tribe-events-calendar-month-nav :is(.tribe-events-c-nav__prev, .tribe-events-c-nav__next, .tribe-events-c-nav__today):hover:not(:disabled) {
	background: #eceae5;
	color: #00205c;
}

.tribe-events-view .tribe-events-calendar-month-nav :is(.tribe-events-c-nav__prev, .tribe-events-c-nav__next):disabled {
	border-color: #d9d6cb;
	background: #f6f5f3;
	color: #757575;
	cursor: default;
}

.tribe-events-view .tribe-events-calendar-month-nav :is(.tribe-events-c-nav__prev-icon-svg, .tribe-events-c-nav__next-icon-svg) {
	display: block;
	flex: 0 0 auto;
	width: 0.5rem;
	height: 0.875rem;
	color: inherit;
}

.tribe-events-view .tribe-events-c-top-bar__datepicker-container .datepicker {
	border: 1px solid #d9d6cb;
	border-radius: 4px;
	background: #fff;
	color: #00205c;
	font-family: inherit;
	box-shadow: 0 4px 10px rgb(0 0 0 / 10%);
	padding: 0.5rem;
}

.tribe-events-view .datepicker :is(td, th) {
	font-size: 1rem;
}

.tribe-events-view .datepicker .month.active {
	background: #00205c;
	color: #fff;
	text-shadow: none;
}

.tribe-events-view .tribe-events-c-events-bar {
	border: 1px solid #d9d6cb;
	background: #fff;
}

.tribe-events-view .tribe-events-c-search__input {
	color: #1c1d1f;
	font-size: 1.125rem;
}

.tribe-events-view :is(.tribe-events-c-search__button, .tribe-events-c-subscribe-dropdown__button) {
	border: 1px solid #00205c;
	border-radius: 4px;
	background: #00205c;
	color: #fff;
	font-size: 1.125rem;
	line-height: 1.2;
	padding: 0.75rem 1.25rem;
	min-height: 3rem;
}

.tribe-events-view :is(.tribe-events-c-search__button, .tribe-events-c-subscribe-dropdown__button):hover,
.tribe-events-view .tribe-events-c-subscribe-dropdown__button:focus-within {
	border-color: #807552;
	background: #807552;
	color: #fff;
}

.tribe-events-view .tribe-events-c-subscribe-dropdown__button-text {
	color: inherit;
	font: inherit;
}

.tribe-events-view .tribe-events-c-subscribe-dropdown__button-icon {
	color: inherit;
}

.tribe-events-view .tribe-events-c-top-bar__today-button {
	border: 1px solid #00205c;
	border-radius: 4px;
	color: #00205c;
	padding: 0.75rem 1.25rem;
	font-size: 1rem;
}

.tribe-events-view .tribe-events-c-top-bar__today-button:hover {
	background: #eceae5;
	color: #00205c;
}

.tribe-events-view .tribe-events-c-top-bar__datepicker-button {
	color: #00205c;
	font-family: minion-pro, "Times New Roman", Times, serif;
	font-size: clamp(1.5rem, 3vw, 2.5rem);
	line-height: 1.2;
}

.tribe-events-view :is(.tribe-events-c-view-selector__content, .tribe-events-c-subscribe-dropdown__content) {
	background: #fff;
	border: 1px solid #d9d6cb;
	box-shadow: 0 4px 10px rgb(0 0 0 / 10%);
}

.tribe-events-view :is(.tribe-events-c-view-selector__list-item-link, .tribe-events-c-subscribe-dropdown__list-item-link) {
	color: #00205c;
	font-size: 1rem;
}

.tribe-events-view :is(.tribe-events-c-view-selector__list-item-link, .tribe-events-c-subscribe-dropdown__list-item-link):hover,
.tribe-events-view .tribe-events-c-view-selector__list-item--active {
	background: #eceae5;
}

/* Calendar grid and mobile day selection. */
.tribe-events-view .tribe-events-calendar-month :is(th, td) {
	min-width: 0;
	padding: 0;
	font-family: var(--tec-font-family-sans-serif);
	font-size: 1rem;
	line-height: 1.5;
	vertical-align: top;
}

.tribe-events-view .tribe-events-calendar-month :is(th, td)::before {
	content: none;
}

.tribe-events-view .tribe-events-calendar-month__header {
	position: static;
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	clip: auto;
	overflow: visible;
	white-space: normal;
}

.tribe-events-view .tribe-events-calendar-month__body {
	display: block;
	width: 100%;
}

.tribe-events-view .tribe-events-calendar-month__header tr,
.tribe-events-view .tribe-events-calendar-month__week {
	grid-template-columns: repeat(7, minmax(0, 1fr));
}

.tribe-events-view .tribe-events-calendar-month {
	display: block;
	width: 100%;
	font-family: var(--tec-font-family-sans-serif);
	border-collapse: collapse;
	border: 1px solid #d9d6cb;
}

.tribe-events-view .tribe-events-calendar-month .tribe-events-calendar-month__header-column {
	width: 100%;
	border: 0;
	padding: 0.75rem 0;
	background: #00205c;
}

.tribe-events-view .tribe-events-calendar-month__header-column-title {
	color: #fff;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-align: center;
	text-transform: uppercase;
}

.tribe-events-view .tribe-events-calendar-month__day {
	border: 1px solid #d9d6cb;
	background: #fff;
	width: 100%;
}

.tribe-events-view .tribe-events-calendar-month__day-date {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 700;
}

.tribe-events-view .tribe-events-calendar-month__day--other-month {
	background: #f6f5f3;
}

.tribe-events-view .tribe-events-calendar-month__multiday-event-bar {
	background: #eceae5;
	border-left: 3px solid #807552;
}

.tribe-events-view .tribe-events-calendar-month__multiday-event-bar-title {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.3;
	text-overflow: ellipsis;
}

.tribe-events-view .tribe-events-calendar-month__day--current {
	background: #eceae5;
	box-shadow: inset 0 3px #807552;
}

.tribe-events-view .tribe-events-calendar-month__day-cell--selected {
	background: #00205c;
	color: #fff;
}

.tribe-events-view .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date {
	color: #fff;
}

.tribe-events-view .tribe-events-calendar-month__calendar-event-title {
	margin: 0.5rem 0;
	font-size: 1rem;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.tribe-events-view .tribe-events-calendar-month__calendar-event-datetime {
	font-size: 0.875rem;
	line-height: 1.4;
}

.tribe-events-view .tribe-events-calendar-month__calendar-event--featured {
	border-left: 3px solid #807552;
	padding-left: 0.5rem;
}

/* List/day views, mobile event cards, and the event preview popup. */
.tribe-events-view :is(.tribe-events-calendar-list__event-title, .tribe-events-calendar-day__event-title,
	.tribe-events-calendar-month-mobile-events__mobile-event-title, .tribe-events-calendar-latest-past__event-title) {
	margin: 0.5rem 0 1rem;
	font-family: minion-pro, "Times New Roman", Times, serif;
	font-size: 1.75rem;
}

.tribe-events-view :is(.tribe-events-calendar-list__event-description, .tribe-events-calendar-day__event-description) {
	font-size: 1.125rem;
	line-height: 1.6;
}

.tribe-events-view :is(.tribe-events-calendar-list__month-separator-text, .tribe-events-c-day-marker__date) {
	font-size: 1.125rem;
	font-weight: 700;
}

.tribe-events-view .tribe-events-c-messages__message {
	border-left: 4px solid #807552;
	background: #eceae5;
	padding: 1rem;
}

/* Tooltipster attaches previews outside the calendar view container. */
.tooltipster-base.tribe-events-tooltip-theme {
	max-width: min(320px, calc(100vw - 32px));
	padding: 1.25rem;
	border: 1px solid #d9d6cb;
	border-top: 4px solid #807552;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 4px 16px rgb(0 0 0 / 16%);
}

.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box {
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box .tooltipster-content {
	padding: 0;
	color: #1c1d1f;
	font-family: myriad-pro, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper {
	width: 100%;
	margin: 0 0 1rem;
}

.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image {
	width: 100%;
	height: auto;
	border-radius: 2px;
}

.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime {
	margin: 0 0 0.5rem;
	color: #5d5d5d;
	font-size: 0.875rem;
	line-height: 1.5;
}

.tribe-events .tribe-events-calendar-month__calendar-event-tooltip {
	color: #1c1d1f;
	font-family: myriad-pro, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-title {
	margin: 0 0 0.75rem;
	color: #00205c;
	font-family: minion-pro, "Times New Roman", Times, serif;
	font-size: 1.5rem;
	line-height: 1.3;
}

.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-title-link {
	color: #00205c;
	text-decoration: none;
}

.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-title-link:hover {
	color: #807552;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-description {
	margin: 0;
	font-size: 1rem;
	line-height: 1.5;
}

.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-description p {
	margin: 0 0 0.75rem;
}

.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-description p:last-child {
	margin-bottom: 0;
}

.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-cost {
	margin-top: 1rem;
	color: #00205c;
	font-size: 1rem;
	font-weight: 700;
}

.tooltipster-base.tribe-events-tooltip-theme a:focus-visible {
	outline: 3px solid #005ea2;
	outline-offset: 3px;
}

@media (min-width: 768px) {
	.tribe-events-view.tribe-events .tribe-events-l-container {
		padding-top: 3rem;
		padding-bottom: 4rem;
	}
}
