@charset "UTF-8";
/**
 * Catcha 2026 — motion and utilities
 *
 * 23 Motion & utilities. Loads after the components it overrides.
 *
 * One slice of the stylesheet. Load order and what lives where:
 * docs/MAP.md at the repo root.
 */

/* =====================================================================
 * 23  MOTION & UTILITIES
 * ================================================================== */
.reveal {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 620ms var(--ease-o) var(--reveal-delay, 0ms),
		transform 620ms var(--ease-o) var(--reveal-delay, 0ms);
}
.reveal.is-in { opacity: 1; transform: none; }
.no-js .reveal { opacity: 1; transform: none; }

@media (max-width: 620px) { .u-hide-sm { display: none !important; } }

/* Hover lift — one treatment for every tile in the theme: directory cards,
   index rows, logo cells, team portraits, news cards, article nav and the
   Overview record marks. Declared once here, after the components, so no
   slice sets its own hover fill. Lifted above its neighbours so the shadow
   falls over the grid's hairlines instead of under them. */
:is(.chapter, a.index-row, a.figure-cell, .person, a.card, .article-nav__link, .logo, .lead-story) {
	transition: background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
:is(.chapter, a.index-row, a.figure-cell, .person, a.card, .article-nav__link, .logo, .lead-story):hover,
.logo.is-open {
	position: relative;
	z-index: 1;
	background: var(--hover-surface);
	box-shadow: var(--el-hover);
}

/* Events Calendar — rebranded through its own custom properties. */
.tribe-common, #tribe-events, .tribe-events, .tribe-events-view {
	--tec-color-accent-primary: var(--accent);
	--tec-color-accent-primary-hover: var(--accent-deep);
	--tec-color-accent-primary-active: var(--accent-deep);
	--tec-color-accent-primary-background: var(--accent-wash);
	--tec-color-accent-secondary: var(--ink);
	--tec-color-link-primary: var(--ink);
	--tec-color-link-accent: var(--accent);
	--tec-color-link-accent-hover: var(--accent-deep);
	--tec-color-text-primary: var(--ink);
	--tec-color-text-secondary: var(--ink-2);
	--tec-color-text-primary-light: var(--ink-3);
	--tec-color-text-events-title: var(--ink);
	--tec-color-button-primary: var(--accent);
	--tec-color-button-primary-hover: var(--accent-deep);
	--tec-color-button-secondary: var(--ink);
	--tec-color-border-default: var(--line);
	--tec-color-border-secondary: var(--line);
	--tec-color-background-secondary: var(--tint);
	--tec-font-family-sans-serif: var(--sans);
}
.tribe-events-calendar-list__event-title,
.tribe-events-calendar-list__event-title-link,
.tribe-events-calendar-day__event-title,
.tribe-events-calendar-month__calendar-event-title {
	font-family: var(--serif) !important;
	letter-spacing: -0.016em;
	line-height: 1.18;
	color: var(--ink);
}
.tribe-events-calendar-list__event-title-link:hover { color: var(--accent); }
.tribe-events-calendar-list__event-date-tag-daynum { font-family: var(--serif) !important; color: var(--ink); }
.tribe-events-calendar-list__event-date-tag-weekday {
	font-family: var(--label) !important;
	letter-spacing: 0.13em;
	color: var(--ink-3);
}
.tribe-events-calendar-list__month-separator-text {
	font-family: var(--label) !important;
	font-size: 11px; font-weight: 600;
	letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--ink-3);
}
.tribe-events-calendar-list__month-separator::after { background-color: var(--line); }
.tribe-events-c-search__button, .tribe-common-c-btn {
	font-family: var(--label) !important;
	font-size: 11.5px !important;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border-radius: 0;
	/* TEC hard-codes its blue above the token it otherwise honours. */
	background-color: var(--accent) !important;
	transition: background-color var(--dur) var(--ease);
}
.tribe-events-c-search__button:hover, .tribe-common-c-btn:hover {
	background-color: var(--accent-deep) !important;
}
.tribe-events-c-subscribe-dropdown__button {
	font-family: var(--label) !important;
	font-size: 11px !important;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border-radius: 0;
	border-color: var(--line-firm);
	color: var(--ink);
}
.tribe-events-c-subscribe-dropdown__button:hover { border-color: var(--accent); color: var(--accent); }
.tribe-events-calendar-list__event-featured-image-wrapper img {
	border-radius: 0;
	border: 1px solid var(--line);
}
.tribe-events-c-search__input-control-input { font-family: var(--sans) !important; border-radius: 0; }
/* TEC greys its disabled pagination to #D5D5D5 — 1.4:1 on this ground, close
   to invisible. Muted is the right read for a disabled control; vanished is not. */
.tribe-events-c-nav__prev[disabled] .tribe-events-c-nav__prev-label,
.tribe-events-c-nav__next[disabled] .tribe-events-c-nav__next-label,
.tribe-events-c-nav__prev-label, .tribe-events-c-nav__next-label { color: var(--ink-4); }

