/* ==========================================================================
 * TMR Directory Pages — Shared overrides
 * ==========================================================================
 * Final source of truth for cross-module typography and FAQ styling.
 * Loaded after section styles so we can keep the visual system uniform.
 * ========================================================================== */

.tmr-home,
.tmr-dining,
.tmr-local-info,
.tmr-places,
.tmr-events,
.tmr-blogs {
	--tmr-shared-blue: #007980;
	--tmr-shared-blue-dark: #095f64;
	--tmr-shared-papaya: #e97554;
	--tmr-shared-line: #dbe9e6;
	--tmr-shared-paper: #fffdfa;
	--tmr-shared-body: #5b7071;
	--tmr-shared-shadow: 0 24px 55px rgba(14, 54, 57, 0.08);
	--tmr-shared-serif: 'p22-mackinac-pro', Georgia, serif;
	--tmr-shared-display: 'Barlow Condensed', Arial, sans-serif;
	--tmr-shared-sans: 'Barlow', Arial, sans-serif;
}

.tmr-home h1.tmr-home__title {
	font-family: var(--tmr-shared-serif) !important;
	font-weight: 500 !important;
	font-style: normal !important;
	line-height: 0.95 !important;
	letter-spacing: -0.03em !important;
	color: var(--tmr-shared-blue) !important;
	font-variation-settings: 'opsz' 144 !important;
}

.tmr-local-info .tmr-local-info__title,
.tmr-local-info h1.tmr-local-info__title {
	font-family: var(--tmr-shared-serif) !important;
	font-weight: 500 !important;
	font-style: normal !important;
	line-height: 0.98 !important;
	letter-spacing: -0.025em !important;
	color: var(--tmr-shared-blue) !important;
	font-variation-settings: 'opsz' 144 !important;
}

.tmr-local-info--subpage[data-page-slug="your-marco-moments"] .tmr-local-info__title {
	max-width: none !important;
	white-space: nowrap;
	font-size: clamp(34px, 5.2vw, 66px) !important;
}

.tmr-home .tmr-home__events-rail-title,
.tmr-home h3.tmr-home__events-rail-title,
.tmr-home .tmr-home__calendar-month {
	font-family: var(--tmr-shared-serif) !important;
	font-weight: 500 !important;
	color: var(--tmr-shared-blue) !important;
	font-variation-settings: 'opsz' 144 !important;
}

.tmr-home .tmr-home__calendar-day,
.tmr-home .tmr-home__calendar-day-number,
.tmr-home .tmr-home__calendar-day.has-events .tmr-home__calendar-day-number {
	color: var(--tmr-shared-blue) !important;
}

.tmr-home .tmr-home__calendar-day.is-active,
.tmr-home .tmr-home__calendar-day.is-active .tmr-home__calendar-day-number,
.tmr-home .tmr-home__calendar-day.is-active .tmr-home__calendar-day-count,
.tmr-home .tmr-home__calendar-day.is-active .tmr-home__calendar-day-dot {
	color: rgba(255, 255, 255, 0.92) !important;
}

.tmr-home .tmr-home__faq .tmr-home__section-title,
.tmr-dining .tmr-faq__title,
.tmr-local-info__faq .tmr-local-info__section-title {
	font-family: var(--tmr-shared-serif) !important;
	font-size: clamp(34px, 5vw, 58px) !important;
	line-height: 0.98 !important;
	font-weight: 500 !important;
	color: var(--tmr-shared-blue) !important;
	letter-spacing: -0.02em !important;
}

.tmr-home .tmr-home__faq-item,
.tmr-dining .tmr-faq-item,
.tmr-local-info .tmr-local-info__accordion-item {
	border: 1px solid var(--tmr-shared-line) !important;
	border-radius: 24px !important;
	background: var(--tmr-shared-paper) !important;
	box-shadow: var(--tmr-shared-shadow) !important;
	overflow: hidden !important;
}

.tmr-home .tmr-home__faq-summary,
.tmr-dining .tmr-faq-item__summary,
.tmr-local-info .tmr-local-info__accordion-summary {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 18px !important;
	padding: 24px 22px !important;
	cursor: pointer !important;
	list-style: none !important;
	color: var(--tmr-shared-blue) !important;
}

.tmr-home .tmr-home__faq-summary::after,
.tmr-dining .tmr-faq-item__summary::after,
.tmr-local-info .tmr-local-info__accordion-summary::after {
	font-family: var(--tmr-shared-display) !important;
	font-size: 28px !important;
	line-height: 1 !important;
	color: var(--tmr-shared-blue) !important;
}

.tmr-home .tmr-home__faq-question,
.tmr-dining .tmr-faq-item__question,
.tmr-local-info .tmr-local-info__accordion-summary {
	margin: 0 !important;
	font-family: var(--tmr-shared-serif) !important;
	font-size: clamp(24px, 2.8vw, 30px) !important;
	line-height: 1.08 !important;
	font-weight: 500 !important;
	color: var(--tmr-shared-blue) !important;
	letter-spacing: -0.01em !important;
}

.tmr-home .tmr-home__faq-answer,
.tmr-dining .tmr-faq-item__answer,
.tmr-local-info .tmr-local-info__accordion-body {
	padding: 0 22px 24px !important;
	font-family: var(--tmr-shared-sans) !important;
	font-size: 17px !important;
	line-height: 1.65 !important;
	color: var(--tmr-shared-body) !important;
}

.tmr-home .tmr-home__faq-answer p,
.tmr-dining .tmr-faq-item__answer p,
.tmr-local-info .tmr-local-info__accordion-body p {
	margin: 0 !important;
	font-family: var(--tmr-shared-sans) !important;
	font-size: 17px !important;
	line-height: 1.65 !important;
	color: var(--tmr-shared-body) !important;
}
