.oc-event-category-search {
	width: 100%;
	margin: 0 0 1.5rem;
}

/* ==========================================================================
   Shared button language
   ========================================================================== */

.oc-event-category-search__submit,
.oc-event-category-search__view-button,
.oc-event-category-search__keyword-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.4rem !important;
	padding: 0.45rem 0.9rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #272E75 !important;
	background: linear-gradient(
		90deg,
		rgba(39, 46, 117, 1) 0%,
		rgba(39, 46, 117, 1) 24%,
		rgba(51, 154, 222, 1) 100%
	) !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	box-shadow: none !important;
	cursor: pointer;
}

.oc-event-category-search__submit:hover,
.oc-event-category-search__submit:focus,
.oc-event-category-search__submit:active,
.oc-event-category-search__view-button:hover,
.oc-event-category-search__view-button:focus,
.oc-event-category-search__view-button:active,
.oc-event-category-search__keyword-button:hover,
.oc-event-category-search__keyword-button:focus,
.oc-event-category-search__keyword-button:active {
	background: #272E75 !important;
	background: linear-gradient(
		90deg,
		rgba(39, 46, 117, 1) 0%,
		rgba(39, 46, 117, 1) 24%,
		rgba(51, 154, 222, 1) 100%
	) !important;
	color: #fff !important;
	text-decoration: none !important;
	opacity: 1 !important;
}

/* Clear = View Orders secondary button language. */
.oc-event-category-search__clear {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0.45rem 0.9rem !important;
	border: 1px solid #272E75 !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #272E75 !important;
	font-family: inherit !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	box-shadow: none !important;
}

.oc-event-category-search__clear:hover,
.oc-event-category-search__clear:focus,
.oc-event-category-search__clear:active {
	background: #fff !important;
	color: #272E75 !important;
	text-decoration: none !important;
}


/* ==========================================================================
   Line 1 — List / Month
   ========================================================================== */

.oc-event-category-search__top-row {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	margin-bottom: 2.5rem;
}

.oc-event-category-search__view-switcher {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
}

.oc-event-category-search__native-view-selector,
.oc-event-category-search__native-view-selector
.tribe-events-c-view-selector__content {
	position: static !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
}

.oc-event-category-search__native-view-selector
.tribe-events-c-view-selector__button {
	display: none !important;
}

.oc-event-category-search__native-view-selector
.tribe-events-c-view-selector__list {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 0.75rem !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.oc-event-category-search__native-view-selector
.tribe-events-c-view-selector__list-item {
	display: block !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.oc-event-category-search__native-view-selector
.tribe-events-c-view-selector__list-item-icon {
	display: none !important;
}

/* Same blue button for both; active state is text underline only. */
.oc-event-category-search__native-view-selector
.tribe-events-c-view-selector__list-item--active
.oc-event-category-search__view-button,
.oc-event-category-search__native-view-selector
.tribe-events-c-view-selector__list-item:not(
	.tribe-events-c-view-selector__list-item--active
)
.oc-event-category-search__view-button {
	opacity: 1 !important;
}

.oc-event-category-search__native-view-selector
.tribe-events-c-view-selector__list-item--active
.oc-event-category-search__view-button {
	text-decoration: none !important;
}

.oc-event-category-search__native-view-selector
.tribe-events-c-view-selector__list-item--active
.tribe-events-c-view-selector__list-item-text {
	text-decoration: underline !important;
	text-underline-offset: 0.18em;
}

.oc-event-category-search__native-view-selector
.tribe-events-c-view-selector__list-item::after {
	display: none !important;
}


/* ==========================================================================
   Shared section headings
   ========================================================================== */

.oc-event-category-search__section-title,
.oc-event-category-search__keyword-title {
	margin: 0 0 1.25rem !important;
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}


/* ==========================================================================
   Line 2 — guided category search
   ========================================================================== */

.oc-event-category-search__guided-section {
	width: 100%;
	margin-bottom: 2.5rem;
}

.oc-event-category-search__form,
.oc-event-category-search__filter-row {
	width: 100%;
}

.oc-event-category-search__filter-row {
	display: block;
}

.oc-event-category-search__fields {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	width: 100%;
}

.oc-event-category-search__field {
	min-width: 0;
}

.oc-event-category-search__field select {
	width: 100%;
	min-height: 44px;
	padding: 0.6rem 2.2rem 0.6rem 0.8rem;
	border: 1px solid #d9d9d9;
	border-radius: 0;
	background-color: #fff;
	color: inherit;
	font: inherit;
	font-size: 0.875rem;
	line-height: 1.2;
}

.oc-event-category-search__field.is-disabled {
	opacity: 0.45;
}

.oc-event-category-search__actions {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.75rem;
	width: 100%;
	margin-top: 1.25rem;
}


/* ==========================================================================
   Line 3 — keyword search
   ========================================================================== */

.oc-event-category-search__keyword-title {
	margin-top: 0 !important;
}

.tribe-events .tribe-events-c-events-bar,
.tribe-common .tribe-events-c-events-bar {
	margin-top: 0 !important;
}

.oc-event-category-search__keyword-form {
	display: flex !important;
	align-items: stretch !important;
	width: 100% !important;
	gap: 0.75rem !important;
}

.oc-event-category-search__keyword-form
.tribe-events-c-search__input-control,
.oc-event-category-search__keyword-form
.tribe-events-c-search__input-group,
.oc-event-category-search__keyword-form
.tribe-events-c-search__input {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

.oc-event-category-search__keyword-button {
	flex: 0 0 auto !important;
}


/* ==========================================================================
   Responsive
   ========================================================================== */

/* Tablet = two pulldown columns. */
@media (max-width: 1024px) {
	.oc-event-category-search__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Mobile = one pulldown column. */
@media (max-width: 600px) {
	.oc-event-category-search__top-row,
	.oc-event-category-search__view-switcher,
	.oc-event-category-search__native-view-selector
	.tribe-events-c-view-selector__list {
		justify-content: stretch !important;
	}

	.oc-event-category-search__native-view-selector,
	.oc-event-category-search__native-view-selector
	.tribe-events-c-view-selector__list {
		width: 100% !important;
	}

	.oc-event-category-search__native-view-selector
	.tribe-events-c-view-selector__list-item {
		flex: 1 1 0 !important;
	}

	.oc-event-category-search__view-button {
		width: 100% !important;
	}

	.oc-event-category-search__fields {
		grid-template-columns: 1fr;
	}

	.oc-event-category-search__actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0.75rem;
	}

	.oc-event-category-search__submit,
	.oc-event-category-search__clear {
		width: 100% !important;
	}

	.oc-event-category-search__keyword-form {
		flex-direction: column !important;
	}

	.oc-event-category-search__keyword-button {
		width: 100% !important;
	}
}


/* ==========================================================================
   0.1.7 layout refinements
   ========================================================================== */

/* --------------------------------------------------------------------------
   Shared primary button hover / active state
   -------------------------------------------------------------------------- */

.oc-event-category-search__submit:hover,
.oc-event-category-search__submit:focus,
.oc-event-category-search__submit:active,
.oc-event-category-search__view-button:hover,
.oc-event-category-search__view-button:focus,
.oc-event-category-search__view-button:active,
.oc-event-category-search__keyword-button:hover,
.oc-event-category-search__keyword-button:focus,
.oc-event-category-search__keyword-button:active {
	background: #272E75 !important;
	background: linear-gradient(
		90deg,
		rgba(39, 46, 117, 1) 0%,
		rgba(39, 46, 117, 1) 24%,
		rgba(51, 154, 222, 1) 100%
	) !important;
	color: #fff !important;
	opacity: 1 !important;
}


/* --------------------------------------------------------------------------
   Line 1 — List / Month
   -------------------------------------------------------------------------- */

.oc-event-category-search__view-button,
.oc-event-category-search__view-button:link,
.oc-event-category-search__view-button:visited,
.oc-event-category-search__view-button:hover,
.oc-event-category-search__view-button:focus,
.oc-event-category-search__view-button:active {
	color: #fff !important;
	text-transform: uppercase !important;
}

.oc-event-category-search__native-view-selector
.tribe-events-c-view-selector__list-item-text {
	color: #fff !important;
	text-transform: uppercase !important;
}

/* Active view = text underline only. */
.oc-event-category-search__native-view-selector
.tribe-events-c-view-selector__list-item--active
.tribe-events-c-view-selector__list-item-text {
	color: #fff !important;
	text-decoration: underline !important;
	text-underline-offset: 0.18em !important;
}

/* Remove TEC's native black active-tab underline. */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-c-view-selector--tabs
.tribe-events-c-view-selector__list-item--active
.tribe-events-c-view-selector__list-item-link::after,
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-c-view-selector--tabs
.tribe-events-c-view-selector__list-item--active
.tribe-events-c-view-selector__list-item-link:after,
.oc-event-category-search__native-view-selector
.tribe-events-c-view-selector__list-item--active
.tribe-events-c-view-selector__list-item-link::after,
.oc-event-category-search__native-view-selector
.tribe-events-c-view-selector__list-item--active
.tribe-events-c-view-selector__list-item-link:after {
	display: none !important;
	content: none !important;
	border: 0 !important;
	background: transparent !important;
}


/* --------------------------------------------------------------------------
   Line 2 — guided search buttons and pulldowns
   -------------------------------------------------------------------------- */

/* Restore normal site button font size. */
.oc-event-category-search__submit,
.oc-event-category-search__clear {
	font-size: 1rem !important;
}

/* Buttons range right with deliberate space above and below. */
.oc-event-category-search__actions {
	justify-content: flex-end !important;
	margin-top: 1.5rem !important;
	margin-bottom: 1.5rem !important;
}

/* Give the native select arrow a little more breathing room. */
.oc-event-category-search__field select {
	padding-right: 2.75rem !important;
	background-position: right 0.9rem center !important;
}


/* --------------------------------------------------------------------------
   Line 3 — keyword search
   -------------------------------------------------------------------------- */

/* Match keyword input text and placeholder size to the pulldowns. */
.oc-event-category-search__keyword-form
input[type="search"],
.oc-event-category-search__keyword-form
input[type="text"] {
	font-size: 0.875rem !important;
}

.oc-event-category-search__keyword-form
input[type="search"]::placeholder,
.oc-event-category-search__keyword-form
input[type="text"]::placeholder {
	font-size: 0.875rem !important;
	opacity: 1;
}

/* Restore normal site button font size. */
.oc-event-category-search__keyword-button {
	font-size: 1rem !important;
}

/* Hide keyword-section heading on mobile only. */
@media (max-width: 600px) {
	.oc-event-category-search__keyword-title {
		display: none !important;
	}
}


/* ==========================================================================
   0.1.8 mobile + button refinements
   ========================================================================== */

/* More space between the page title and the search panel. */
.oc-event-view-header {
	margin-bottom: 2rem !important;
}


/* --------------------------------------------------------------------------
   Line 1 — List / Month
   -------------------------------------------------------------------------- */

/*
 * Keep desktop-sized view buttons on mobile and range them right rather than
 * forcing each control to 50% width.
 */
@media (max-width: 600px) {
	.oc-event-category-search__top-row {
		justify-content: flex-end !important;
		margin-bottom: 2rem !important;
	}

	.oc-event-category-search__view-switcher {
		justify-content: flex-end !important;
	}

	.oc-event-category-search__native-view-selector,
	.oc-event-category-search__native-view-selector
	.tribe-events-c-view-selector__list {
		width: auto !important;
		justify-content: flex-end !important;
	}

	.oc-event-category-search__native-view-selector
	.tribe-events-c-view-selector__list-item {
		flex: 0 0 auto !important;
		width: auto !important;
	}

	.oc-event-category-search__view-button {
		width: auto !important;
		min-width: 0 !important;
	}
}


/* --------------------------------------------------------------------------
   Line 2 + Line 3 — primary Search buttons
   -------------------------------------------------------------------------- */

.oc-event-category-search__submit,
.oc-event-category-search__keyword-button {
	background: #272E75 !important;
	background: linear-gradient(
		90deg,
		rgba(39, 46, 117, 1) 0%,
		rgba(39, 46, 117, 1) 24%,
		rgba(51, 154, 222, 1) 100%
	) !important;
	-webkit-border-radius: 30px !important;
	-moz-border-radius: 30px !important;
	border-radius: 30px !important;
	border-width: 0 !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 1em !important;
	font-weight: 500 !important;
	line-height: inherit !important;
	padding-top: 0.2rem !important;
	padding-right: 1.4rem !important;
	padding-bottom: 0.2rem !important;
	padding-left: 1.4rem !important;
	text-decoration: none !important;
	letter-spacing: 0.02rem !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

.oc-event-category-search__submit:hover,
.oc-event-category-search__submit:focus,
.oc-event-category-search__submit:active,
.oc-event-category-search__keyword-button:hover,
.oc-event-category-search__keyword-button:focus,
.oc-event-category-search__keyword-button:active {
	background: #806E5C !important;
	background: linear-gradient(
		90deg,
		rgba(128, 110, 92, 1) 0%,
		rgba(128, 110, 92, 1) 56%,
		rgba(159, 155, 127, 1) 100%
	) !important;
	color: #fff !important;
}


/* --------------------------------------------------------------------------
   Pulldowns
   -------------------------------------------------------------------------- */

/*
 * Native select arrows ignore background-position in some browsers. Give the
 * control a visibly larger right inset so the arrow sits away from the edge.
 */
.oc-event-category-search__field select {
	padding-right: 3.25rem !important;
	background-position: right 1.15rem center !important;
}


/* --------------------------------------------------------------------------
   Line 3 — keyword search typography
   -------------------------------------------------------------------------- */

.oc-event-category-search__keyword-form
input[type="search"],
.oc-event-category-search__keyword-form
input[type="text"] {
	font-size: 0.875rem !important;
	line-height: 1.2 !important;
}

.oc-event-category-search__keyword-form
input[type="search"]::placeholder,
.oc-event-category-search__keyword-form
input[type="text"]::placeholder {
	font-size: 0.875rem !important;
	line-height: 1.2 !important;
	opacity: 1 !important;
}


/* --------------------------------------------------------------------------
   Mobile search buttons
   -------------------------------------------------------------------------- */

/*
 * Retain normal site-button sizing on mobile. Only Clear remains stretched
 * within the two-column action row.
 */
@media (max-width: 600px) {
	.oc-event-category-search__actions {
		display: flex !important;
		justify-content: flex-end !important;
		align-items: center !important;
		gap: 0.75rem !important;
	}

	.oc-event-category-search__submit,
	.oc-event-category-search__keyword-button {
		width: auto !important;
		min-width: 0 !important;
	}

	.oc-event-category-search__keyword-form {
		flex-direction: row !important;
		align-items: stretch !important;
	}

	.oc-event-category-search__clear {
		width: auto !important;
	}
}


/* ========================================================================== 
   0.1.9 final control-size refinements
   ========================================================================== */

/* Revert the extra mobile spacing below List / Month. */
@media (max-width: 600px) {
	.oc-event-category-search__top-row {
		margin-bottom: 1rem !important;
	}
}

/* Clear button uses the same normal-site-button size/padding, but remains white. */
.oc-event-category-search__clear {
	-webkit-border-radius: 30px !important;
	-moz-border-radius: 30px !important;
	border-radius: 30px !important;
	font-family: inherit !important;
	font-size: 1em !important;
	font-weight: 500 !important;
	line-height: inherit !important;
	padding-top: 0.2rem !important;
	padding-right: 1.4rem !important;
	padding-bottom: 0.2rem !important;
	padding-left: 1.4rem !important;
	letter-spacing: 0.02rem !important;
	text-align: center !important;
}

/*
 * Add a visible arrow inset without replacing the browser's select arrow.
 * The extra right padding is deliberately generous because some browsers
 * ignore background-position for native select controls.
 */
.oc-event-category-search__field select {
	padding-right: 3.75rem !important;
}

/* Match keyword field type size directly to the guided selects. */
.oc-event-category-search__keyword-form
input[type="search"],
.oc-event-category-search__keyword-form
input[type="text"],
.oc-event-category-search__keyword-form
input[type="search"]::placeholder,
.oc-event-category-search__keyword-form
input[type="text"]::placeholder {
	font-size: 0.875rem !important;
	line-height: 1.2 !important;
	font-family: inherit !important;
}

/*
 * Keyword Search button: exactly the same sizing and visual treatment as the
 * guided Search button above.
 */
.oc-event-category-search__keyword-button {
	background: #272E75 !important;
	background: linear-gradient(
		90deg,
		rgba(39, 46, 117, 1) 0%,
		rgba(39, 46, 117, 1) 24%,
		rgba(51, 154, 222, 1) 100%
	) !important;
	-webkit-border-radius: 30px !important;
	-moz-border-radius: 30px !important;
	border-radius: 30px !important;
	border-width: 0 !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 1em !important;
	font-weight: 500 !important;
	line-height: inherit !important;
	padding-top: 0.2rem !important;
	padding-right: 1.4rem !important;
	padding-bottom: 0.2rem !important;
	padding-left: 1.4rem !important;
	text-decoration: none !important;
	letter-spacing: 0.02rem !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

.oc-event-category-search__keyword-button:hover,
.oc-event-category-search__keyword-button:focus,
.oc-event-category-search__keyword-button:active {
	background: #806E5C !important;
	background: linear-gradient(
		90deg,
		rgba(128, 110, 92, 1) 0%,
		rgba(128, 110, 92, 1) 56%,
		rgba(159, 155, 127, 1) 100%
	) !important;
	color: #fff !important;
}


/* ==========================================================================
   0.1.10 native-control fixes
   ========================================================================== */

/*
 * Use our own select arrow so its inset is actually controllable.
 * Native browser arrows ignore padding/background-position inconsistently.
 */
.oc-event-category-search__field select {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	padding-right: 3rem !important;
	background-color: #fff !important;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23483222' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 1.15rem center !important;
	background-size: 14px 8px !important;
}

/* Hide legacy MS select arrow where applicable. */
.oc-event-category-search__field select::-ms-expand {
	display: none;
}


/*
 * Keyword field typography is synced in JS to the actual computed pulldown
 * size. These selectors also cover TEC's own input class and its placeholder.
 */
.oc-event-category-search__keyword-form
.tribe-events-c-search__input,
.oc-event-category-search__keyword-form
input[type="search"],
.oc-event-category-search__keyword-form
input[type="text"] {
	font-size: var(--oc-filter-font-size, inherit) !important;
	line-height: var(--oc-filter-line-height, inherit) !important;
	font-family: inherit !important;
}

.oc-event-category-search__keyword-form
.tribe-events-c-search__input::placeholder,
.oc-event-category-search__keyword-form
input[type="search"]::placeholder,
.oc-event-category-search__keyword-form
input[type="text"]::placeholder {
	font-size: var(--oc-filter-font-size, inherit) !important;
	line-height: var(--oc-filter-line-height, inherit) !important;
	font-family: inherit !important;
	opacity: 1 !important;
}


/*
 * TEC gives its native Search button a tall/min-height treatment. Strip that
 * so it has exactly the same compact site-button geometry as guided Search.
 */
.tribe-events .oc-event-category-search__keyword-button,
.tribe-common .oc-event-category-search__keyword-button,
.oc-event-category-search__keyword-form
.oc-event-category-search__keyword-button {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	align-self: center !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0.2rem 1.4rem !important;
	border: 0 !important;
	border-radius: 30px !important;
	background: #272E75 !important;
	background: linear-gradient(
		90deg,
		rgba(39, 46, 117, 1) 0%,
		rgba(39, 46, 117, 1) 24%,
		rgba(51, 154, 222, 1) 100%
	) !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 1em !important;
	font-weight: 500 !important;
	line-height: inherit !important;
	letter-spacing: 0.02rem !important;
	text-align: center !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.tribe-events .oc-event-category-search__keyword-button:hover,
.tribe-events .oc-event-category-search__keyword-button:focus,
.tribe-events .oc-event-category-search__keyword-button:active,
.tribe-common .oc-event-category-search__keyword-button:hover,
.tribe-common .oc-event-category-search__keyword-button:focus,
.tribe-common .oc-event-category-search__keyword-button:active {
	background: #806E5C !important;
	background: linear-gradient(
		90deg,
		rgba(128, 110, 92, 1) 0%,
		rgba(128, 110, 92, 1) 56%,
		rgba(159, 155, 127, 1) 100%
	) !important;
	color: #fff !important;
}


/* ==========================================================================
   0.1.11 keyword row + responsive refinements
   ========================================================================== */

/* --------------------------------------------------------------------------
   Line 3 — compact keyword row
   -------------------------------------------------------------------------- */

/* Match the keyword field row height to the guided pulldowns. */
.oc-event-category-search__keyword-form {
	min-height: 44px !important;
	height: 44px !important;
	align-items: center !important;
}

.oc-event-category-search__keyword-form
.tribe-events-c-search__input-control,
.oc-event-category-search__keyword-form
.tribe-events-c-search__input-group,
.oc-event-category-search__keyword-form
.tribe-events-c-search__input,
.oc-event-category-search__keyword-form
input[type="search"],
.oc-event-category-search__keyword-form
input[type="text"] {
	height: 44px !important;
	min-height: 44px !important;
	max-height: 44px !important;
	box-sizing: border-box !important;
}

/* Keep the compact Search button away from the right edge of the field/bar. */
.oc-event-category-search__keyword-form
.oc-event-category-search__keyword-button {
	margin-right: 0.75rem !important;
}

/* --------------------------------------------------------------------------
   Tablet / mobile
   -------------------------------------------------------------------------- */

/* Hide the keyword heading on tablet as well as mobile. */
@media (max-width: 1024px) {
	.oc-event-category-search__keyword-title {
		display: none !important;
	}
}

@media (max-width: 600px) {
	/* More separation after the grey guided-search section before TEC top bar. */
	.tribe-events .tribe-events-c-top-bar,
	.tribe-common .tribe-events-c-top-bar {
		margin-top: 1.25rem !important;
	}

	/* Remove focus/active outline from TEC's mobile search-toggle icon. */
	.tribe-events .tribe-events-c-events-bar__search-button,
	.tribe-events .tribe-events-c-events-bar__search-button:hover,
	.tribe-events .tribe-events-c-events-bar__search-button:focus,
	.tribe-events .tribe-events-c-events-bar__search-button:active,
	.tribe-common .tribe-events-c-events-bar__search-button,
	.tribe-common .tribe-events-c-events-bar__search-button:hover,
	.tribe-common .tribe-events-c-events-bar__search-button:focus,
	.tribe-common .tribe-events-c-events-bar__search-button:active {
		outline: 0 !important;
		border: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
	}
}


/* ==========================================================================
   0.1.12 keyword-row alignment refinements
   ========================================================================== */

/* --------------------------------------------------------------------------
   Line 3 — make the keyword field the same visual height as pulldowns
   -------------------------------------------------------------------------- */

.oc-event-category-search__keyword-form {
	min-height: 44px !important;
}

.oc-event-category-search__keyword-form
.tribe-events-c-search__input-control,
.oc-event-category-search__keyword-form
.tribe-events-c-search__input-group {
	min-height: 44px !important;
	height: 44px !important;
	display: flex !important;
	align-items: center !important;
}

.oc-event-category-search__keyword-form
.tribe-events-c-search__input,
.oc-event-category-search__keyword-form
input[type="search"],
.oc-event-category-search__keyword-form
input[type="text"] {
	height: 44px !important;
	min-height: 44px !important;
	box-sizing: border-box !important;
	padding-top: 0.6rem !important;
	padding-bottom: 0.6rem !important;
	line-height: 1.2 !important;
	display: block !important;
}

.oc-event-category-search__keyword-form
.tribe-events-c-search__input::placeholder,
.oc-event-category-search__keyword-form
input[type="search"]::placeholder,
.oc-event-category-search__keyword-form
input[type="text"]::placeholder {
	line-height: 1.2 !important;
}


/* --------------------------------------------------------------------------
   Tablet + mobile — more space before TEC top-bar and vertical alignment
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {

	/*
	 * Add clear separation between the grey guided-search panel and the
	 * Upcoming/search-icon top bar.
	 */
	.tribe-events
	.tribe-events-c-top-bar,
	.tribe-common
	.tribe-events-c-top-bar {
		margin-top: 2rem !important;
	}

	/*
	 * Keep Upcoming and the mobile/tablet search toggle on one vertical axis.
	 */
	.tribe-events
	.tribe-events-c-top-bar,
	.tribe-common
	.tribe-events-c-top-bar {
		display: flex !important;
		align-items: center !important;
	}

	.tribe-events
	.tribe-events-c-top-bar__datepicker,
	.tribe-common
	.tribe-events-c-top-bar__datepicker,
	.tribe-events
	.tribe-events-c-events-bar__search-button,
	.tribe-common
	.tribe-events-c-events-bar__search-button {
		align-self: center !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	/*
	 * Remove browser/theme focus framing around the search-toggle icon on
	 * both tablet and mobile while preserving the icon itself.
	 */
	.tribe-events
	button.tribe-events-c-events-bar__search-button,
	.tribe-common
	button.tribe-events-c-events-bar__search-button,
	.tribe-events
	button.tribe-events-c-events-bar__search-button:hover,
	.tribe-events
	button.tribe-events-c-events-bar__search-button:focus,
	.tribe-events
	button.tribe-events-c-events-bar__search-button:active,
	.tribe-common
	button.tribe-events-c-events-bar__search-button:hover,
	.tribe-common
	button.tribe-events-c-events-bar__search-button:focus,
	.tribe-common
	button.tribe-events-c-events-bar__search-button:active {
		outline: 0 !important;
		border: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
	}
}


/* ==========================================================================
   0.1.13 exact keyword-height + tablet/mobile top-bar alignment
   ========================================================================== */

/* --------------------------------------------------------------------------
   Line 3 — use the actual rendered pulldown height/padding
   -------------------------------------------------------------------------- */

.oc-event-category-search__keyword-form {
	min-height: var(--oc-filter-height, 44px) !important;
}

.oc-event-category-search__keyword-form
.tribe-events-c-search__input-control,
.oc-event-category-search__keyword-form
.tribe-events-c-search__input-group {
	height: var(--oc-filter-height, 44px) !important;
	min-height: var(--oc-filter-height, 44px) !important;
	display: flex !important;
	align-items: center !important;
	box-sizing: border-box !important;
}

.oc-event-category-search__keyword-form
.tribe-events-c-search__input,
.oc-event-category-search__keyword-form
input[type="search"],
.oc-event-category-search__keyword-form
input[type="text"] {
	height: var(--oc-filter-height, 44px) !important;
	min-height: var(--oc-filter-height, 44px) !important;
	box-sizing: border-box !important;
	padding-top: var(--oc-filter-padding-top, 0.6rem) !important;
	padding-bottom: var(--oc-filter-padding-bottom, 0.6rem) !important;
	display: flex !important;
	align-items: center !important;
	line-height: var(--oc-filter-line-height, 1.2) !important;
}


/* --------------------------------------------------------------------------
   Tablet + mobile — align Upcoming with the already-correct search icon
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {

	/*
	 * Keep the overall spacing below the grey search area, but lift Upcoming
	 * within the row so its visual centre aligns with the search icon.
	 */
	.tribe-events
	.tribe-events-c-top-bar__datepicker,
	.tribe-common
	.tribe-events-c-top-bar__datepicker {
		position: relative !important;
		top: -0.65rem !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.tribe-events
	.tribe-events-c-top-bar__datepicker-button,
	.tribe-common
	.tribe-events-c-top-bar__datepicker-button {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
}


/* ==========================================================================
   0.1.14 keyword field / responsive top-bar / no-results refinements
   ========================================================================== */

/* --------------------------------------------------------------------------
   Line 3 — keyword input: match pulldown height with comfortable vertical pad
   -------------------------------------------------------------------------- */

.oc-event-category-search__keyword-form,
.oc-event-category-search__keyword-form
.tribe-events-c-search__input-control,
.oc-event-category-search__keyword-form
.tribe-events-c-search__input-group {
	height: var(--oc-filter-height, 58px) !important;
	min-height: var(--oc-filter-height, 58px) !important;
	box-sizing: border-box !important;
}

.oc-event-category-search__keyword-form
.tribe-events-c-search__input,
.oc-event-category-search__keyword-form
input[type="search"],
.oc-event-category-search__keyword-form
input[type="text"] {
	height: var(--oc-filter-height, 58px) !important;
	min-height: var(--oc-filter-height, 58px) !important;
	box-sizing: border-box !important;
	padding-top: 0.85rem !important;
	padding-bottom: 0.85rem !important;
	line-height: 1.2 !important;
}


/* --------------------------------------------------------------------------
   Tablet + mobile — spacing and vertical alignment of Upcoming/search icon
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {

	/* More separation beneath the grey search area. */
	.tribe-events
	.tribe-events-c-top-bar,
	.tribe-common
	.tribe-events-c-top-bar {
		margin-top: 2.5rem !important;
		align-items: center !important;
	}

	/*
	 * Search icon already sits correctly; lift Upcoming within the row so
	 * both controls share the same visual centre.
	 */
	.tribe-events
	.tribe-events-c-top-bar__datepicker,
	.tribe-common
	.tribe-events-c-top-bar__datepicker {
		position: relative !important;
		top: -1.05rem !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.tribe-events
	.tribe-events-c-events-bar__search-button,
	.tribe-common
	.tribe-events-c-events-bar__search-button {
		position: relative !important;
		top: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
}


/* --------------------------------------------------------------------------
   No results
   -------------------------------------------------------------------------- */

.tribe-events .oc-event-search-no-results,
.tribe-common .oc-event-search-no-results {
	display: block !important;
	width: 100% !important;
	margin: 1rem 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: left !important;
	color: #e98402 !important;
	font-size: var(--oc-filter-font-size, 0.875rem) !important;
	line-height: var(--oc-filter-line-height, 1.2) !important;
}

.tribe-events .oc-event-search-no-results *,
.tribe-common .oc-event-search-no-results * {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #e98402 !important;
	font-size: inherit !important;
	line-height: inherit !important;
	text-align: left !important;
}

.tribe-events .oc-event-search-no-results svg,
.tribe-events .oc-event-search-no-results img,
.tribe-events .oc-event-search-no-results .tribe-common-c-svgicon,
.tribe-common .oc-event-search-no-results svg,
.tribe-common .oc-event-search-no-results img,
.tribe-common .oc-event-search-no-results .tribe-common-c-svgicon {
	display: none !important;
}


/* ==========================================================================
   0.1.15 no-results dedupe/style + responsive Upcoming alignment
   ========================================================================== */

.tribe-events .oc-event-search-no-results,
.tribe-common .oc-event-search-no-results,
.tribe-events .oc-event-search-no-results *,
.tribe-common .oc-event-search-no-results * {
	color: #fa6a01 !important;
	font-size: var(--oc-filter-font-size, 1em) !important;
	font-weight: 700 !important;
	line-height: var(--oc-filter-line-height, 1.2) !important;
	text-align: left !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

@media (max-width: 1024px) {
	.tribe-events .tribe-events-c-top-bar,
	.tribe-common .tribe-events-c-top-bar {
		margin-top: 2.5rem !important;
		align-items: flex-start !important;
	}

	.tribe-events .tribe-events-c-top-bar__datepicker,
	.tribe-common .tribe-events-c-top-bar__datepicker {
		position: relative !important;
		top: -1.55rem !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.tribe-events .tribe-events-c-top-bar__datepicker-button,
	.tribe-common .tribe-events-c-top-bar__datepicker-button {
		margin: 0 !important;
	}

	.tribe-events .tribe-events-c-events-bar__search-button,
	.tribe-common .tribe-events-c-events-bar__search-button {
		top: 0 !important;
		margin-top: 0 !important;
	}
}


/* ==========================================================================
   0.1.16 prevent native no-results flash
   ========================================================================== */

/*
 * TEC renders its native no-results notice before the Open Circle JS
 * normalises the copy/styling. Keep that notice invisible until the
 * normalisation pass is complete, then reveal only the finished version.
 */
.tribe-events .tribe-events-c-messages__message--notice,
.tribe-common .tribe-events-c-messages__message--notice,
.tribe-events .tribe-events-header__messages,
.tribe-common .tribe-events-header__messages {
	visibility: hidden;
}

.tribe-events .oc-event-search-no-results--ready,
.tribe-common .oc-event-search-no-results--ready {
	visibility: visible !important;
}


/* ==========================================================================
   0.1.17 prevent native keyword-search flash
   ========================================================================== */

/*
 * TEC renders its own keyword field/button before the Open Circle script
 * changes the placeholder, button label and geometry. Hide the form until
 * those transformations have finished, then reveal only the final version.
 */
.tribe-events
form.tribe-events-c-search:not(.oc-event-category-search__keyword-ready),
.tribe-common
form.tribe-events-c-search:not(.oc-event-category-search__keyword-ready),
.tribe-events
form[data-js="tribe-events-search-form"]:not(.oc-event-category-search__keyword-ready),
.tribe-common
form[data-js="tribe-events-search-form"]:not(.oc-event-category-search__keyword-ready),
.tribe-events
form.tribe-events-c-events-bar__search-form:not(.oc-event-category-search__keyword-ready),
.tribe-common
form.tribe-events-c-events-bar__search-form:not(.oc-event-category-search__keyword-ready) {
	visibility: hidden !important;
}

.tribe-events
form.oc-event-category-search__keyword-ready,
.tribe-common
form.oc-event-category-search__keyword-ready {
	visibility: visible !important;
}


/* ==========================================================================
   0.1.18 prevent native List / Month flash
   ========================================================================== */

/*
 * TEC outputs the original List/Month selector before the Open Circle script
 * moves it into Line 1 and applies the button styling. Hide the native selector
 * until that transformation is complete.
 */
.tribe-events
.tribe-events-c-view-selector:not(.oc-event-category-search__view-ready),
.tribe-common
.tribe-events-c-view-selector:not(.oc-event-category-search__view-ready) {
	visibility: hidden !important;
}

.tribe-events
.tribe-events-c-view-selector.oc-event-category-search__view-ready,
.tribe-common
.tribe-events-c-view-selector.oc-event-category-search__view-ready {
	visibility: visible !important;
}
