:root {
	--color-bg: #0b0f14;
	--color-surface: #111821;
	--color-surface-2: #17212c;
	--color-text: #e8edf3;
	--color-muted: #9fb0c4;
	--color-accent: #5aa9ff;
	--color-border: #253445;
	--space-1: 0.5rem;
	--space-2: 0.75rem;
	--space-3: 1rem;
	--space-4: 1.5rem;
	--space-5: 2rem;
	--space-6: 3rem;
	--space-7: 4rem;
	--radius: 0.75rem;
	--container: 1120px;
	--font-main: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--font-display: "Sora", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--color-bg);
	color: var(--color-text);
	font-family: var(--font-main);
	line-height: 1.6;
}

a {
	color: var(--color-accent);
	text-decoration: none;
}

a:hover,
a:focus-visible {
	text-decoration: underline;
}

.container {
	width: min(100% - 2rem, var(--container));
	margin-inline: auto;
}

.section {
	padding-block: var(--space-7);
}

.section-dark {
	background: #0d131a;
}

.section-heading {
	margin-bottom: var(--space-5);
}

.section-heading h1,
.section-heading h2,
h1,
h2,
h3 {
	font-family: var(--font-display);
	letter-spacing: 0.01em;
	line-height: 1.2;
	margin-top: 0;
}

.eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--color-muted);
	margin-bottom: var(--space-2);
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(11, 15, 20, 0.92);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--color-border);
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	min-height: 78px;
}

.site-title {
	font-family: var(--font-display);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--color-text);
}

.site-logo-fallback {
	display: inline-flex;
	align-items: center;
}

.site-logo-fallback img {
	display: block;
	max-height: 52px;
	width: auto;
}

.site-tagline {
	margin: 0;
	font-size: 0.85rem;
	color: var(--color-muted);
}

.menu-toggle {
	display: none;
	border: 1px solid var(--color-border);
	background: transparent;
	color: var(--color-text);
	padding: 0.45rem 0.8rem;
	border-radius: 999px;
}

.primary-nav ul {
	display: flex;
	list-style: none;
	gap: var(--space-4);
	margin: 0;
	padding: 0;
}

.primary-nav a {
	color: var(--color-text);
	font-weight: 600;
}

.hero {
	background-image:
		linear-gradient(120deg, rgba(6, 10, 15, 0.82), rgba(6, 10, 15, 0.6)),
		linear-gradient(180deg, rgba(6, 10, 15, 0.35), rgba(6, 10, 15, 0.75)),
		url("../images/xccr/default-hero.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.xccr-hero {
	background-image:
		linear-gradient(120deg, rgba(6, 10, 15, 0.82), rgba(6, 10, 15, 0.6)),
		linear-gradient(180deg, rgba(6, 10, 15, 0.35), rgba(6, 10, 15, 0.75)),
		url("../images/xccr/chris-rebreather-cave.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.intro-cave-hero {
	background-image:
		linear-gradient(120deg, rgba(6, 10, 15, 0.82), rgba(6, 10, 15, 0.6)),
		linear-gradient(180deg, rgba(6, 10, 15, 0.35), rgba(6, 10, 15, 0.75)),
		url("../images/xccr/intro-to-cave-hero.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.cavern-hero {
	background-image:
		linear-gradient(120deg, rgba(6, 10, 15, 0.82), rgba(6, 10, 15, 0.6)),
		linear-gradient(180deg, rgba(6, 10, 15, 0.35), rgba(6, 10, 15, 0.75)),
		url("../images/xccr/cavern-hero.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.advanced-nitrox-deco-hero {
	background-image:
		linear-gradient(120deg, rgba(6, 10, 15, 0.82), rgba(6, 10, 15, 0.6)),
		linear-gradient(180deg, rgba(6, 10, 15, 0.35), rgba(6, 10, 15, 0.75)),
		url("../images/xccr/advanced-nitrox-deco-hero.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.sidemount-hero {
	background-image:
		linear-gradient(120deg, rgba(6, 10, 15, 0.82), rgba(6, 10, 15, 0.6)),
		linear-gradient(180deg, rgba(6, 10, 15, 0.35), rgba(6, 10, 15, 0.75)),
		url("../images/xccr/sidemount-hero.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.private-instruction-hero {
	background-image:
		linear-gradient(120deg, rgba(6, 10, 15, 0.82), rgba(6, 10, 15, 0.6)),
		linear-gradient(180deg, rgba(6, 10, 15, 0.35), rgba(6, 10, 15, 0.75)),
		url("../images/xccr/private-instruction-hero.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.hero h1 {
	font-size: clamp(2rem, 4vw, 3.6rem);
	max-width: 14ch;
}

.hero-copy {
	max-width: 62ch;
	color: var(--color-muted);
	font-size: 1.1rem;
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin-top: var(--space-4);
}

.button {
	display: inline-block;
	padding: 0.75rem 1.1rem;
	border-radius: 0.5rem;
	font-weight: 700;
	border: 1px solid transparent;
}

.button:hover,
.button:focus-visible {
	text-decoration: none;
}

.button-primary {
	background: var(--color-accent);
	color: #06101d;
}

.button-secondary {
	border-color: var(--color-border);
	color: var(--color-text);
	background: transparent;
}

.card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: var(--space-4);
}

.card,
.entry-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	padding: var(--space-4);
	border-radius: var(--radius);
}

.card-plain {
	background: transparent;
}

.section-split .split-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-5);
}

.section-cta {
	background: var(--color-surface-2);
	text-align: center;
}

.content-narrow {
	width: min(100%, 760px);
}

.contact-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-4);
}

.contact-form-wrap {
	margin-top: var(--space-3);
}

.xccr-copy-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.xccr-list {
	margin: 0;
	padding-left: 1.2rem;
}

.xccr-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-4);
}

.xccr-gallery img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0.5rem;
	margin-bottom: var(--space-2);
}

.small-note {
	color: var(--color-muted);
	font-size: 0.9rem;
	margin-top: var(--space-3);
}

.additional-training-list {
	margin: 0;
	padding-left: 1.2rem;
	display: grid;
	gap: 0.45rem;
}

.about-profile-image {
	margin: 0 0 var(--space-4);
	padding: 0;
	overflow: hidden;
}

.about-profile-image img {
	display: block;
	width: 100%;
	height: auto;
}

.additional-training-list {
	margin: 0;
	padding-left: 1.2rem;
	display: grid;
	gap: 0.45rem;
}

.about-profile-image {
	margin: 0 0 var(--space-4);
	padding: 0;
	overflow: hidden;
}

.about-profile-image img {
	display: block;
	width: 100%;
	height: auto;
}

.entry-title {
	margin-bottom: var(--space-2);
}

.entry-meta {
	color: var(--color-muted);
	font-size: 0.9rem;
	margin-bottom: var(--space-2);
}

.entry-content-wrap img {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius);
}

.site-footer {
	border-top: 1px solid var(--color-border);
	padding-block: var(--space-6) var(--space-4);
	background: #090d12;
}

.footer-inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-5);
}

.footer-title {
	font-family: var(--font-display);
	font-weight: 700;
	margin: 0 0 var(--space-2);
}

.footer-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.footer-nav a {
	color: var(--color-text);
	font-weight: 600;
}

.footer-legal {
	margin-top: var(--space-4);
	padding-top: var(--space-3);
	border-top: 1px solid var(--color-border);
	color: var(--color-muted);
}

.screen-reader-text {
	position: absolute;
	left: -9999px;
}

/* The Events Calendar styling to match dark theme. */
.schedule-calendar-shell,
.post-type-archive-tribe_events #tribe-events {
	background: #0f1620;
}

.schedule-calendar-shell #tribe-events,
.post-type-archive-tribe_events #tribe-events {
	color: var(--color-text);
}

.schedule-calendar-shell .tribe-events .tribe-events-c-search__input,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-search__input {
	background: #0b1119;
	border: 1px solid var(--color-border);
	color: var(--color-text);
}

.schedule-calendar-shell .tribe-common .tribe-common-c-btn,
.schedule-calendar-shell .tribe-common a.tribe-common-c-btn,
.post-type-archive-tribe_events .tribe-common .tribe-common-c-btn,
.post-type-archive-tribe_events .tribe-common a.tribe-common-c-btn {
	background: var(--color-accent);
	color: #06101d;
	border: 1px solid transparent;
	border-radius: 0.5rem;
	font-weight: 700;
}

.schedule-calendar-shell .tribe-common .tribe-common-c-btn-border,
.schedule-calendar-shell .tribe-common a.tribe-common-c-btn-border,
.post-type-archive-tribe_events .tribe-common .tribe-common-c-btn-border,
.post-type-archive-tribe_events .tribe-common a.tribe-common-c-btn-border {
	background: transparent;
	color: var(--color-text);
	border: 1px solid var(--color-border);
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__day,
.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__header-column,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__header-column {
	border-color: var(--color-border);
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__day-date,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day-date {
	color: var(--color-muted);
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__calendar-event-title a,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__calendar-event-title a {
	color: var(--color-text);
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker-button,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-button,
.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__nav-link,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__nav-link {
	color: var(--color-text);
}

.schedule-calendar-shell .tribe-events .tribe-events-c-view-selector__list-item-link,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector__list-item-link {
	color: var(--color-muted);
}

.schedule-calendar-shell .tribe-events .tribe-events-c-view-selector__list-item-link--active,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector__list-item-link--active {
	color: #06101d !important;
	border-color: transparent !important;
	background: var(--color-accent) !important;
	font-weight: 700;
}

/* Higher-fidelity dark theme pass for Events Calendar. */
body.post-type-archive-tribe_events,
body.single-tribe_events {
	background: var(--color-bg);
	color: var(--color-text);
}

.post-type-archive-tribe_events .site-main {
	padding-top: var(--space-6);
}

.post-type-archive-tribe_events #tribe-events-pg-template,
.post-type-archive-tribe_events #tribe-events {
	max-width: min(100% - 2rem, var(--container));
	margin-inline: auto;
}

.schedule-calendar-shell #tribe-events,
.post-type-archive-tribe_events #tribe-events {
	--tec-color-text-primary: var(--color-text);
	--tec-color-text-secondary: var(--color-muted);
	--tec-color-accent-primary: var(--color-accent);
	--tec-color-accent-primary-hover: #7abbff;
	--tec-color-background: #0f1620;
	--tec-color-border-secondary: var(--color-border);
}

.schedule-calendar-shell .tribe-events .tribe-events-header,
.post-type-archive-tribe_events .tribe-events .tribe-events-header {
	margin-bottom: var(--space-4);
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar {
	background: #121b26;
	border: 1px solid var(--color-border);
	border-radius: 0.65rem;
	padding: 0.45rem;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.45rem;
	align-items: center;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__search,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__search {
	margin: 0;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-search__input,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-search__input {
	min-height: 44px;
	border-radius: 0.45rem;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__submit,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__submit {
	min-height: 44px;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-view-selector__content,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector__content {
	background: #0e1722 !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 0.45rem !important;
	padding: 0.2rem !important;
	box-shadow: none !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-view-selector,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector {
	background: transparent !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-view-selector__button,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector__button {
	background: #0e1722 !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 0.45rem !important;
	color: var(--color-text) !important;
	min-height: 44px;
	padding: 0.45rem 0.7rem !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-view-selector__button svg,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector__button svg {
	color: var(--color-muted) !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-view-selector__button-text,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector__button-text {
	color: var(--color-text) !important;
	font-weight: 600;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-events-bar__views,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar__views {
	min-width: 172px;
}

/* Tabs mode desktop: keep tabs visible, remove empty toggle shell. */
.schedule-calendar-shell .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__button,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__button {
	display: none !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content {
	display: block !important;
	position: static !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	width: auto !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-view-selector__list,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector__list {
	gap: 0.2rem;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-view-selector__list-item-link,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector__list-item-link {
	border-radius: 0.35rem;
	padding: 0.35rem 0.6rem !important;
	line-height: 1.2;
	border: 1px solid transparent !important;
	font-size: 0.9rem;
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month {
	background: #0f1620;
	border: 1px solid var(--color-border);
	border-radius: 0.65rem;
	overflow: hidden;
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__header,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__header {
	background: #101a25;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker {
	margin: 0;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker-button,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-button {
	background: #0e1722;
	border: 1px solid var(--color-border);
	border-radius: 0.45rem;
	padding: 0.35rem 0.65rem;
	color: var(--color-text) !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker-button:focus,
.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker-button:active,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-button:focus,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-button:active {
	color: var(--color-text) !important;
	background: #132131;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker-time,
.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker-button-icon-svg,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-time,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-button-icon-svg {
	color: var(--color-text) !important;
	fill: var(--color-text) !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__today-button,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__today-button,
.schedule-calendar-shell .tribe-events .tribe-events-c-nav__today,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-nav__today {
	background: #0e1722 !important;
	border: 1px solid var(--color-border) !important;
	color: var(--color-text) !important;
	border-radius: 0.45rem;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__today-button:hover,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__today-button:hover,
.schedule-calendar-shell .tribe-events .tribe-events-c-nav__today:hover,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-nav__today:hover {
	background: #132131 !important;
	color: var(--color-text) !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__day,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day {
	border-left-color: transparent;
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__week .tribe-events-calendar-month__day:first-child,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__week .tribe-events-calendar-month__day:first-child {
	border-left-color: var(--color-border);
}

.schedule-calendar-shell .tribe-events .tribe-events-c-events-bar__search-container,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar__search-container {
	margin-right: 0.5rem;
}

.schedule-calendar-shell .tribe-events .tribe-events-header__messages--mobile,
.post-type-archive-tribe_events .tribe-events .tribe-events-header__messages--mobile {
	display: none;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-events-bar__search-button,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar__search-button {
	display: none;
}

/* Hide keyword search form for cleaner public schedule view. */
.schedule-calendar-shell .tribe-events .tribe-events-c-events-bar__search-container,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar__search-container {
	display: none !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-events-bar__views,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar__views {
	margin-left: auto;
}

/* Hide the legacy events bar row to prevent empty white strip. */
.schedule-calendar-shell .tribe-events .tribe-events-header__events-bar,
.post-type-archive-tribe_events .tribe-events .tribe-events-header__events-bar {
	display: none !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__header-column-title,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__header-column-title {
	color: var(--color-muted);
	font-weight: 600;
	letter-spacing: 0.02em;
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__day-cell,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day-cell {
	background: #101a25;
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-cell,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-cell {
	background: #0c141d;
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-cell,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-cell {
	box-shadow: inset 0 0 0 2px rgba(90, 169, 255, 0.35);
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__mobile-events-icon--event,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__mobile-events-icon--event {
	background: var(--color-accent);
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__calendar-event,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__calendar-event {
	background: rgba(90, 169, 255, 0.12);
	border: 1px solid rgba(90, 169, 255, 0.35);
	border-radius: 0.4rem;
	padding: 0.2rem 0.35rem;
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__calendar-event-datetime,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__calendar-event-datetime {
	color: #bcd9ff;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-messages__message,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-messages__message {
	background: rgba(90, 169, 255, 0.1);
	border-color: rgba(90, 169, 255, 0.35);
	color: var(--color-text);
}

.schedule-calendar-shell .tribe-events .tribe-events-c-messages__message a,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-messages__message a {
	color: #9dcbff !important;
	text-decoration-color: rgba(157, 203, 255, 0.7);
}

.schedule-calendar-shell .tribe-events .tribe-events-c-messages__message a:hover,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-messages__message a:hover {
	color: #c3e0ff !important;
}

/* Remove bright left-edge artifact by normalizing month grid borders. */
.schedule-calendar-shell .tribe-events .tribe-events-calendar-month,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month {
	border-color: var(--color-border) !important;
	border-left: 1px solid var(--color-border) !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month td,
.schedule-calendar-shell .tribe-events .tribe-events-calendar-month th,
.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__day-cell--desktop,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month td,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month th,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day-cell--desktop {
	border-color: var(--color-border) !important;
	box-shadow: none !important;
}

/* Dark theme for month picker popup. */
.schedule-calendar-shell .tribe-events .flatpickr-calendar,
.post-type-archive-tribe_events .tribe-events .flatpickr-calendar {
	background: #0e1722 !important;
	border: 1px solid var(--color-border) !important;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35) !important;
}

.schedule-calendar-shell .tribe-events .flatpickr-months .flatpickr-month,
.schedule-calendar-shell .tribe-events .flatpickr-current-month .flatpickr-monthDropdown-months,
.schedule-calendar-shell .tribe-events .flatpickr-current-month input.cur-year,
.schedule-calendar-shell .tribe-events .flatpickr-weekday,
.schedule-calendar-shell .tribe-events .flatpickr-day,
.post-type-archive-tribe_events .tribe-events .flatpickr-months .flatpickr-month,
.post-type-archive-tribe_events .tribe-events .flatpickr-current-month .flatpickr-monthDropdown-months,
.post-type-archive-tribe_events .tribe-events .flatpickr-current-month input.cur-year,
.post-type-archive-tribe_events .tribe-events .flatpickr-weekday,
.post-type-archive-tribe_events .tribe-events .flatpickr-day {
	color: var(--color-text) !important;
}

.schedule-calendar-shell .tribe-events .flatpickr-day:hover,
.post-type-archive-tribe_events .tribe-events .flatpickr-day:hover {
	background: #132131 !important;
	border-color: var(--color-border) !important;
}

/* Dark theme for subscribe dropdown menu. */
.schedule-calendar-shell .tribe-events .tribe-events-c-subscribe-dropdown__button,
.schedule-calendar-shell .tribe-events .tribe-events-c-subscribe-dropdown__button-text,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown__button,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown__button-text {
	background: #0e1722 !important;
	color: var(--color-text) !important;
	border-color: var(--color-border) !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-subscribe-dropdown__content,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown__content {
	background: #0e1722 !important;
	border: 1px solid var(--color-border) !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-subscribe-dropdown__list-item-link,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown__list-item-link {
	color: var(--color-text) !important;
}

/* Final hard overrides for TEC visual consistency. */
.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar {
	background: #101a25 !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 0.65rem !important;
	padding: 0.7rem 0.85rem !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker-button,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-button,
.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__today-button,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__today-button {
	background: #0f1620 !important;
	color: var(--color-text) !important;
	border: 1px solid var(--color-border) !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker-button:hover,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-button:hover,
.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__today-button:hover,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__today-button:hover {
	background: #132131 !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker-time,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-time {
	color: var(--color-text) !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker-button-icon-svg path,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-button-icon-svg path {
	fill: var(--color-text) !important;
}

/* Force dark month picker dropdown styles. */
.schedule-calendar-shell .tribe-events .flatpickr-calendar,
.post-type-archive-tribe_events .tribe-events .flatpickr-calendar {
	background: #0e1722 !important;
	border: 1px solid var(--color-border) !important;
}

.schedule-calendar-shell .tribe-events .flatpickr-months .flatpickr-prev-month svg,
.schedule-calendar-shell .tribe-events .flatpickr-months .flatpickr-next-month svg,
.post-type-archive-tribe_events .tribe-events .flatpickr-months .flatpickr-prev-month svg,
.post-type-archive-tribe_events .tribe-events .flatpickr-months .flatpickr-next-month svg {
	fill: var(--color-text) !important;
}

.schedule-calendar-shell .tribe-events .flatpickr-current-month .flatpickr-monthDropdown-months,
.schedule-calendar-shell .tribe-events .flatpickr-current-month input.cur-year,
.post-type-archive-tribe_events .tribe-events .flatpickr-current-month .flatpickr-monthDropdown-months,
.post-type-archive-tribe_events .tribe-events .flatpickr-current-month input.cur-year {
	background: #0f1620 !important;
	color: var(--color-text) !important;
	border: 1px solid var(--color-border) !important;
}

.schedule-calendar-shell .tribe-events .flatpickr-current-month .flatpickr-monthDropdown-months option,
.post-type-archive-tribe_events .tribe-events .flatpickr-current-month .flatpickr-monthDropdown-months option {
	background: #0f1620 !important;
	color: var(--color-text) !important;
}

/* Force dark subscribe menu and button shell. */
.schedule-calendar-shell .tribe-events .tribe-events-c-subscribe-dropdown .tribe-common-c-btn-border,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown .tribe-common-c-btn-border {
	background: #0f1620 !important;
	border: 1px solid var(--color-border) !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-subscribe-dropdown__button-icon path,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown__button-icon path {
	fill: var(--color-text) !important;
}

/* Remove persistent bright left-edge line in month table. */
.schedule-calendar-shell .tribe-events .tribe-events-calendar-month,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month {
	border-collapse: collapse !important;
	border-left: 1px solid var(--color-border) !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month::before,
.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__body::before,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month::before,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__body::before {
	display: none !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__day,
.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__day-cell,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day-cell {
	border-color: var(--color-border) !important;
}

/* Screenshot-driven fixes: popup menus + left grid edge. */
.schedule-calendar-shell .tribe-events #tribe-events-c-subscribe-dropdown-content,
.post-type-archive-tribe_events .tribe-events #tribe-events-c-subscribe-dropdown-content {
	background: #0e1722 !important;
	border: 1px solid var(--color-border) !important;
}

.schedule-calendar-shell .tribe-events #tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item-link,
.post-type-archive-tribe_events .tribe-events #tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item-link {
	color: var(--color-text) !important;
	opacity: 1 !important;
}

.schedule-calendar-shell .tribe-events #tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item-link:hover,
.post-type-archive-tribe_events .tribe-events #tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item-link:hover {
	background: #132131 !important;
	color: #c3e0ff !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker-container,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-container {
	background: #0e1722 !important;
	border: 1px solid var(--color-border) !important;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35) !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker-container *,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-container * {
	color: var(--color-text) !important;
	border-color: var(--color-border) !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker-container button,
.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__datepicker-container select,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-container button,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-container select {
	background: #0f1620 !important;
}

/* Kill stubborn bright line from month-grid pseudo elements/edge rules. */
.schedule-calendar-shell .tribe-events .tribe-events-calendar-month,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month {
	border-left: 1px solid var(--color-border) !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month::before,
.schedule-calendar-shell .tribe-events .tribe-events-calendar-month::after,
.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__body::before,
.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__body::after,
.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__week::before,
.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__week::after,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month::before,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month::after,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__body::before,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__body::after,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__week::before,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__week::after {
	display: none !important;
}

/* Global popup overrides: TEC/flatpickr often renders outside container. */
.flatpickr-calendar,
body .flatpickr-calendar {
	background: #0e1722 !important;
	border: 1px solid var(--color-border) !important;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35) !important;
}

.flatpickr-calendar .flatpickr-rContainer,
.flatpickr-calendar .flatpickr-weekdays,
.flatpickr-calendar .flatpickr-days,
.flatpickr-calendar .dayContainer {
	background: #0e1722 !important;
}

.flatpickr-calendar .flatpickr-months .flatpickr-month,
.flatpickr-calendar .flatpickr-current-month,
.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar .flatpickr-current-month input.cur-year,
.flatpickr-calendar .flatpickr-weekday,
.flatpickr-calendar .flatpickr-day {
	color: var(--color-text) !important;
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar .flatpickr-current-month input.cur-year {
	background: #0f1620 !important;
	border: 1px solid var(--color-border) !important;
}

.flatpickr-calendar .flatpickr-day:hover {
	background: #132131 !important;
	border-color: var(--color-border) !important;
}

/* Global subscribe dropdown overrides for readability. */
body .tribe-events-c-subscribe-dropdown__content {
	background: #0e1722 !important;
	border: 1px solid var(--color-border) !important;
}

body .tribe-events-c-subscribe-dropdown__list-item-link {
	color: var(--color-text) !important;
	opacity: 1 !important;
}

body .tribe-events-c-subscribe-dropdown__list-item-link:hover {
	background: #132131 !important;
	color: #c3e0ff !important;
}

/* Bootstrap-style TEC datepicker (actual markup in use). */
body .datepicker.datepicker-dropdown.dropdown-menu {
	background: #0e1722 !important;
	border: 1px solid var(--color-border) !important;
	color: var(--color-text) !important;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35) !important;
}

body .datepicker table,
body .datepicker table tr,
body .datepicker table td,
body .datepicker table th {
	background: transparent !important;
	border-color: var(--color-border) !important;
	color: var(--color-text) !important;
}

body .datepicker .datepicker-switch,
body .datepicker .prev,
body .datepicker .next {
	color: var(--color-text) !important;
	background: #0f1620 !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 0.35rem !important;
}

body .datepicker .datepicker-grid .month,
body .datepicker .datepicker-grid .year,
body .datepicker .datepicker-grid .decade,
body .datepicker .datepicker-grid .century {
	background: #0f1620 !important;
	border: 1px solid var(--color-border) !important;
	color: var(--color-text) !important;
}

body .datepicker .datepicker-grid .month:hover,
body .datepicker .datepicker-grid .year:hover,
body .datepicker .datepicker-grid .decade:hover,
body .datepicker .datepicker-grid .century:hover {
	background: #132131 !important;
}

body .datepicker .datepicker-grid .active,
body .datepicker .datepicker-grid .focused {
	background: var(--color-accent) !important;
	color: #06101d !important;
	border-color: transparent !important;
}

/* Cleaner top bar composition. */
.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar__nav,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__nav {
	margin-right: auto;
}

/* Subtle left grid edge instead of bright line. */
.schedule-calendar-shell .tribe-events .tribe-events-calendar-month,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month {
	border-left-color: #1b2a3a !important;
}

.schedule-calendar-shell .tribe-events .tribe-events-calendar-month__week .tribe-events-calendar-month__day:first-child,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__week .tribe-events-calendar-month__day:first-child {
	border-left-color: #1b2a3a !important;
}

/* Hard-force readable subscribe dropdown options. */
body .tribe-events-c-subscribe-dropdown__list-item,
body .tribe-events-c-subscribe-dropdown__list-item a,
body .tribe-events-c-subscribe-dropdown__list-item-link {
	color: var(--color-text) !important;
	opacity: 1 !important;
}

body .tribe-events-c-subscribe-dropdown__list-item--disabled a,
body .tribe-events-c-subscribe-dropdown__list-item--disabled .tribe-events-c-subscribe-dropdown__list-item-link {
	color: var(--color-muted) !important;
	opacity: 1 !important;
}

/* Dedicated subscribe dropdown polish. */
body .tribe-events-c-subscribe-dropdown__content {
	min-width: 240px;
	padding: 0.35rem 0;
	border-radius: 0.5rem;
	overflow: hidden;
}

body .tribe-events-c-subscribe-dropdown__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

body .tribe-events-c-subscribe-dropdown__list-item {
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(37, 52, 69, 0.55);
}

body .tribe-events-c-subscribe-dropdown__list-item:first-child {
	border-top: 0;
}

body .tribe-events-c-subscribe-dropdown__list-item-link,
body .tribe-events-c-subscribe-dropdown__list-item a {
	display: block;
	padding: 0.62rem 0.85rem !important;
	font-size: 0.92rem;
	line-height: 1.35;
	font-weight: 500;
	background: transparent !important;
	text-decoration: none !important;
}

body .tribe-events-c-subscribe-dropdown__list-item-link:hover,
body .tribe-events-c-subscribe-dropdown__list-item a:hover,
body .tribe-events-c-subscribe-dropdown__list-item-link:focus-visible,
body .tribe-events-c-subscribe-dropdown__list-item a:focus-visible {
	background: #132131 !important;
	color: #cfe6ff !important;
	outline: none;
}

/* Hard lock specific subscribe dropdown markup by id. */
#tribe-events-c-subscribe-dropdown-content,
#tribe-events-c-subscribe-dropdown-content.tribe-events-c-subscribe-dropdown__content {
	background-color: #0e1722 !important;
	border: 1px solid var(--color-border) !important;
	color: var(--color-text) !important;
	opacity: 1 !important;
}

#tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list {
	background-color: #0e1722 !important;
}

#tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item {
	background-color: #0e1722 !important;
	opacity: 1 !important;
}

#tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item-link,
#tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item a {
	background-color: #0e1722 !important;
	color: #e8edf3 !important;
	-webkit-text-fill-color: #e8edf3 !important;
	opacity: 1 !important;
	filter: none !important;
	mix-blend-mode: normal !important;
}

#tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item-link:hover,
#tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item a:hover {
	background-color: #132131 !important;
	color: #cfe6ff !important;
	-webkit-text-fill-color: #cfe6ff !important;
}

/* Final outline cleanup for subscribe controls. */
body .tribe-events-c-subscribe-dropdown .tribe-common-c-btn-border,
body .tribe-events-c-subscribe-dropdown__button,
body .tribe-events-c-subscribe-dropdown__button-text,
body #tribe-events-c-subscribe-dropdown-content,
body #tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item,
body #tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item-link {
	box-shadow: none !important;
}

body .tribe-events-c-subscribe-dropdown__button-text,
body #tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item-link {
	outline: none !important;
}

body .tribe-events-c-subscribe-dropdown__button-text:focus,
body .tribe-events-c-subscribe-dropdown__button-text:focus-visible,
body #tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item-link:focus,
body #tribe-events-c-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item-link:focus-visible {
	outline: none !important;
	box-shadow: inset 0 0 0 1px rgba(90, 169, 255, 0.35) !important;
}

@media (max-width: 780px) {
	.schedule-calendar-shell .tribe-events .tribe-events-c-top-bar,
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar {
		grid-template-columns: 1fr;
	}

	.schedule-calendar-shell .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__button,
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__button {
		display: inline-flex !important;
	}

	.schedule-calendar-shell .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content,
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content {
		display: none !important;
		position: absolute !important;
	}

	.schedule-calendar-shell .tribe-events .tribe-events-c-events-bar__search-button,
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar__search-button {
		display: inline-flex;
	}

	.schedule-calendar-shell .tribe-events .tribe-events-c-events-bar__search-container,
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar__search-container {
		display: block !important;
	}

	.schedule-calendar-shell .tribe-events .tribe-events-header__events-bar,
	.post-type-archive-tribe_events .tribe-events .tribe-events-header__events-bar {
		display: block !important;
	}
}

@media (max-width: 900px) {
	.menu-toggle {
		display: inline-flex;
	}

	.primary-nav {
		display: none;
		position: absolute;
		top: 78px;
		left: 0;
		width: 100%;
		background: #0a1017;
		border-bottom: 1px solid var(--color-border);
	}

	.primary-nav.is-open {
		display: block;
	}

	.primary-nav ul {
		flex-direction: column;
		gap: 0;
	}

	.primary-nav li a {
		display: block;
		padding: var(--space-3) var(--space-4);
		border-top: 1px solid var(--color-border);
	}

	.section-split .split-grid,
	.footer-inner,
	.xccr-gallery,
	.xccr-copy-grid,
	.contact-grid {
		grid-template-columns: 1fr;
	}
}
