/* CFN: The Events Calendar readable in SmartMag dark mode */
.site-s-dark .tribe-events,
.site-s-dark .tribe-common,
.s-dark .tribe-events,
.s-dark .tribe-common,
html.site-s-dark .tribe-events,
html.site-s-dark .tribe-common {
  --tec-color-text-primary: #e8eef7;
  --tec-color-text-primary-light: #e8eef7cc;
  --tec-color-text-secondary: #a8b4c8;
  --tec-color-text-disabled: #6a778c;
  --tec-color-text-events-title: #f2f6fc;
  --tec-color-text-event-title: #f2f6fc;
  --tec-color-text-event-date: #c5d0e0;
  --tec-color-text-secondary-event-date: #a8b4c8;
  --tec-color-icon-primary: #c5d0e0;
  --tec-color-icon-primary-alt: #a8b4c8;
  --tec-color-icon-secondary: #8a97ab;
  --tec-color-icon-active: #ffffff;
  --tec-color-icon-disabled: #6a778c;
  --tec-color-event-icon: #e8eef7;
  --tec-color-event-icon-hover: #7eb6f6;
  --tec-color-accent-primary: #3d8bfd;
  --tec-color-accent-primary-hover: #5ca0ff;
  --tec-color-accent-primary-active: #2f7af0;
  --tec-color-accent-primary-background: #3d8bfd33;
  --tec-color-accent-secondary: #e8eef7;
  --tec-color-link-primary: #e8eef7;
  --tec-color-link-accent: #7eb6f6;
  --tec-color-link-accent-hover: #a8d0ff;
  --tec-color-border-default: #2a3a52;
  --tec-color-border-secondary: #243247;
  --tec-color-border-tertiary: #3a4d68;
  --tec-color-border-hover: #4a6284;
  --tec-color-border-active: #7eb6f6;
  --tec-color-background: #0b1220;
  --tec-color-background-events: transparent;
  --tec-color-background-transparent: #0b1220e6;
  --tec-color-background-secondary: #121a2b;
  --tec-color-background-messages: #3d8bfd22;
  --tec-color-background-secondary-hover: #182236;
  --tec-color-background-secondary-datepicker: #121a2b;
  --tec-color-day-marker-current-month: #e8eef7;
  --tec-color-day-marker-current-month-hover: #ffffff;
  --tec-color-day-marker-current-month-active: #ffffff;
  --tec-color-day-marker-month: #8a97ab;
  --tec-color-day-marker-month-hover: #c5d0e0;
  --tec-color-text-day-of-week-month: #a8b4c8;
  --tec-color-background-month-grid: #0b1220;
  --tec-color-border-secondary-month-grid: #243247;
  --tec-color-border-active-month-grid-hover: #3d8bfd;
  --tec-color-background-events-bar: #121a2b;
  --tec-color-background-search-container: #121a2b;
  --tec-color-background-view-selector: #121a2b;
  --tec-color-background-view-selector-tabs: #0b1220;
  --tec-color-background-view-selector-list-item-hover: #182236;
  --tec-color-background-subscribe-list-item-hover: #182236;
  color: #e8eef7;
}

.site-s-dark .tribe-events-calendar-month__day,
.site-s-dark .tribe-events-calendar-month__day-cell,
.site-s-dark .tribe-events-calendar-month__day-cell--selected,
.s-dark .tribe-events-calendar-month__day,
.s-dark .tribe-events-calendar-month__day-cell {
  background-color: #0b1220 !important;
  color: #e8eef7 !important;
}

.site-s-dark .tribe-events-calendar-month__day--past-month .tribe-events-calendar-month__day-date,
.site-s-dark .tribe-events-calendar-month__day--next-month .tribe-events-calendar-month__day-date,
.s-dark .tribe-events-calendar-month__day--past-month .tribe-events-calendar-month__day-date,
.s-dark .tribe-events-calendar-month__day--next-month .tribe-events-calendar-month__day-date {
  color: #6a778c !important;
}

.site-s-dark .tribe-events-calendar-month__calendar-event-title-link,
.site-s-dark .tribe-events-calendar-list__event-title-link,
.site-s-dark .tribe-events-calendar-list__event-datetime,
.s-dark .tribe-events-calendar-month__calendar-event-title-link,
.s-dark .tribe-events-calendar-list__event-title-link {
  color: #f2f6fc !important;
}

.site-s-dark .tribe-events-c-top-bar__datepicker-button,
.site-s-dark .tribe-events-c-view-selector__button,
.site-s-dark .tribe-events-c-search__input,
.s-dark .tribe-events-c-top-bar__datepicker-button,
.s-dark .tribe-events-c-view-selector__button,
.s-dark .tribe-events-c-search__input {
  color: #e8eef7 !important;
  background-color: #121a2b !important;
  border-color: #2a3a52 !important;
}

.site-s-dark .tribe-events-c-ical__link,
.s-dark .tribe-events-c-ical__link {
  color: #7eb6f6 !important;
}

/* CFN: TEC List / Month / Day view tabs readable in dark mode */
.site-s-dark .tribe-events,
.s-dark .tribe-events,
html.site-s-dark .tribe-events {
  --tec-color-text-view-selector-list-item: #e8eef7;
  --tec-color-text-view-selector-list-item-hover: #ffffff;
  --tec-color-icon-events-bar: #c5d0e0;
  --tec-color-background-view-selector: #121a2b;
  --tec-color-background-view-selector-tabs: #0b1220;
}

.site-s-dark .tribe-events-c-view-selector__list-item-text,
.site-s-dark .tribe-events-c-view-selector__list-item-link,
.site-s-dark .tribe-events-c-view-selector__button-text,
.s-dark .tribe-events-c-view-selector__list-item-text,
.s-dark .tribe-events-c-view-selector__list-item-link,
.s-dark .tribe-events-c-view-selector__button-text {
  color: #e8eef7 !important;
}

.site-s-dark .tribe-events-c-view-selector__list-item-link:hover .tribe-events-c-view-selector__list-item-text,
.site-s-dark .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-text,
.s-dark .tribe-events-c-view-selector__list-item-link:hover .tribe-events-c-view-selector__list-item-text,
.s-dark .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-text {
  color: #ffffff !important;
}

.site-s-dark .tribe-events-c-view-selector__list-item-icon-svg path,
.site-s-dark .tribe-events-c-view-selector__button-icon-svg path,
.site-s-dark .tribe-events-c-view-selector__button-icon-caret-svg path,
.s-dark .tribe-events-c-view-selector__list-item-icon-svg path,
.s-dark .tribe-events-c-view-selector__button-icon-svg path,
.s-dark .tribe-events-c-view-selector__button-icon-caret-svg path {
  fill: #c5d0e0 !important;
}

.site-s-dark .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content,
.s-dark .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content {
  background-color: #0b1220 !important;
  border-color: #2a3a52 !important;
}

/* CFN: brighter event titles/times in dark mode */
.site-s-dark .tribe-events,
.s-dark .tribe-events,
html.site-s-dark .tribe-events {
  --tec-color-text-primary: #ffffff;
  --tec-color-text-secondary: #d7e2f2;
  --tec-color-text-events-title: #ffffff;
  --tec-color-text-event-title: #ffffff;
  --tec-color-text-event-date: #e4ecf8;
  --tec-color-text-secondary-event-date: #d7e2f2;
}

.site-s-dark .tribe-events-calendar-list__event-title,
.site-s-dark .tribe-events-calendar-list__event-title-link,
.site-s-dark .tribe-events-calendar-list__event-title-link.tribe-common-anchor-thin,
.site-s-dark .tribe-events-calendar-month__calendar-event-title,
.site-s-dark .tribe-events-calendar-month__calendar-event-title-link,
.site-s-dark .tribe-events-calendar-day__event-title,
.site-s-dark .tribe-events-calendar-day__event-title-link,
.s-dark .tribe-events-calendar-list__event-title,
.s-dark .tribe-events-calendar-list__event-title-link,
.s-dark .tribe-events-calendar-list__event-title-link.tribe-common-anchor-thin,
.s-dark .tribe-events-calendar-month__calendar-event-title,
.s-dark .tribe-events-calendar-month__calendar-event-title-link,
.s-dark .tribe-events-calendar-day__event-title,
.s-dark .tribe-events-calendar-day__event-title-link {
  color: #ffffff !important;
}

.site-s-dark .tribe-events-calendar-list__event-datetime,
.site-s-dark .tribe-events-calendar-list__event-datetime-wrapper,
.site-s-dark .tribe-events-calendar-list__event-venue,
.site-s-dark .tribe-events-calendar-list__event-venue-title,
.site-s-dark .tribe-events-calendar-list__event-venue-address,
.site-s-dark .tribe-events-calendar-list__event-date-tag-weekday,
.site-s-dark .tribe-events-calendar-list__event-date-tag-daynum,
.site-s-dark .tribe-events-calendar-list__month-separator-text,
.site-s-dark .tribe-events-calendar-month__calendar-event-datetime,
.site-s-dark .tribe-event-date-start,
.s-dark .tribe-events-calendar-list__event-datetime,
.s-dark .tribe-events-calendar-list__event-datetime-wrapper,
.s-dark .tribe-events-calendar-list__event-venue,
.s-dark .tribe-events-calendar-list__event-venue-title,
.s-dark .tribe-events-calendar-list__event-venue-address,
.s-dark .tribe-events-calendar-list__event-date-tag-weekday,
.s-dark .tribe-events-calendar-list__event-date-tag-daynum,
.s-dark .tribe-events-calendar-list__month-separator-text,
.s-dark .tribe-events-calendar-month__calendar-event-datetime,
.s-dark .tribe-event-date-start {
  color: #e4ecf8 !important;
}

/* CFN: Upcoming / Today / month separator / date-tag — force readable */
.site-s-dark .tribe-events-c-top-bar__datepicker-button,
.site-s-dark .tribe-events-c-top-bar__datepicker-button-text,
.site-s-dark .tribe-events-c-top-bar__nav-link,
.site-s-dark .tribe-events-c-top-bar__today-button,
.site-s-dark .tribe-common-c-btn-border-small,
.s-dark .tribe-events-c-top-bar__datepicker-button,
.s-dark .tribe-events-c-top-bar__datepicker-button-text,
.s-dark .tribe-events-c-top-bar__nav-link,
.s-dark .tribe-events-c-top-bar__today-button,
.s-dark .tribe-common-c-btn-border-small {
  color: #ffffff !important;
}

.site-s-dark .tribe-events-calendar-list__month-separator,
.site-s-dark .tribe-events-calendar-list__month-separator-text,
.site-s-dark .tribe-events-calendar-list__event-date-tag,
.site-s-dark .tribe-events-calendar-list__event-date-tag-datetime,
.site-s-dark .tribe-events-calendar-list__event-date-tag-weekday,
.site-s-dark .tribe-events-calendar-list__event-date-tag-daynum,
.site-s-dark .tribe-events-calendar-list__event-date-tag-month,
.s-dark .tribe-events-calendar-list__month-separator,
.s-dark .tribe-events-calendar-list__month-separator-text,
.s-dark .tribe-events-calendar-list__event-date-tag,
.s-dark .tribe-events-calendar-list__event-date-tag-datetime,
.s-dark .tribe-events-calendar-list__event-date-tag-weekday,
.s-dark .tribe-events-calendar-list__event-date-tag-daynum,
.s-dark .tribe-events-calendar-list__event-date-tag-month {
  color: #e4ecf8 !important;
}

.site-s-dark .tribe-events-calendar-list__event-title a,
.site-s-dark a.tribe-events-calendar-list__event-title-link,
.site-s-dark .tribe-common-anchor-thin,
.site-s-dark .tribe-common-anchor-thin:active,
.site-s-dark .tribe-common-anchor-thin:focus,
.site-s-dark .tribe-common-anchor-thin:hover,
.s-dark .tribe-events-calendar-list__event-title a,
.s-dark a.tribe-events-calendar-list__event-title-link,
.s-dark .tribe-common-anchor-thin {
  color: #ffffff !important;
}

.site-s-dark .tribe-events-calendar-list__event-description,
.site-s-dark .tribe-events-calendar-list__event-description p,
.s-dark .tribe-events-calendar-list__event-description,
.s-dark .tribe-events-calendar-list__event-description p {
  color: #c5d0e0 !important;
}

/* CFN: homepage This Week native list */
.cfn-this-week-list {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
}
.cfn-tw-item {
  padding: 0.65rem 0;
  border-bottom: 1px solid rgba(42, 58, 82, 0.55);
}
.cfn-tw-item:last-child { border-bottom: 0; }
.cfn-tw-title {
  display: block;
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.35;
  color: #0b1220;
  text-decoration: none;
}
.cfn-tw-title:hover { color: #1a4a8a; text-decoration: underline; }
.cfn-tw-meta {
  margin-top: 0.2rem;
  font-size: 0.9rem;
  color: #4a5568;
}
.site-s-dark .cfn-tw-title,
.s-dark .cfn-tw-title {
  color: #ffffff !important;
}
.site-s-dark .cfn-tw-title:hover,
.s-dark .cfn-tw-title:hover {
  color: #a8d0ff !important;
}
.site-s-dark .cfn-tw-meta,
.s-dark .cfn-tw-meta {
  color: #e4ecf8 !important;
}
.site-s-dark .cfn-tw-item,
.s-dark .cfn-tw-item {
  border-bottom-color: #2a3a52;
}


/* CFN: single event detail — force white/light text in dark mode */
html.s-dark .tribe-events-single,
html.site-s-dark .tribe-events-single,
.s-dark .tribe-events-single,
.site-s-dark .tribe-events-single,
html.s-dark.single-tribe_events .entry-content,
html.site-s-dark.single-tribe_events .entry-content,
.s-dark.single-tribe_events .entry-content,
.site-s-dark.single-tribe_events .entry-content {
  color: #ffffff !important;
}

html.s-dark .tribe-events-single-event-title,
html.site-s-dark .tribe-events-single-event-title,
.s-dark .tribe-events-single-event-title,
.site-s-dark .tribe-events-single-event-title,
html.s-dark .tribe-events-schedule,
html.site-s-dark .tribe-events-schedule,
.s-dark .tribe-events-schedule,
.site-s-dark .tribe-events-schedule,
html.s-dark .tribe-events-schedule *,
html.site-s-dark .tribe-events-schedule *,
.s-dark .tribe-events-schedule h2,
.site-s-dark .tribe-events-schedule h2,
html.s-dark .tribe-event-date-start,
html.site-s-dark .tribe-event-date-start,
.s-dark .tribe-event-time,
.site-s-dark .tribe-event-time {
  color: #ffffff !important;
}

html.s-dark .tribe-events-content,
html.site-s-dark .tribe-events-content,
.s-dark .tribe-events-content,
.site-s-dark .tribe-events-content,
html.s-dark .tribe-events-single-event-description,
html.site-s-dark .tribe-events-single-event-description,
.s-dark .tribe-events-single-event-description,
.site-s-dark .tribe-events-single-event-description,
html.s-dark .tribe-events-single-event-description p,
html.site-s-dark .tribe-events-single-event-description p,
.s-dark .tribe-events-single-event-description p,
.site-s-dark .tribe-events-single-event-description p,
html.s-dark .tribe-events-content p,
html.site-s-dark .tribe-events-content p,
.s-dark .tribe-events-content p,
.site-s-dark .tribe-events-content p,
html.s-dark .tribe-events-content li,
html.site-s-dark .tribe-events-content li {
  color: #ffffff !important;
}

html.s-dark .tribe-events-meta-group,
html.site-s-dark .tribe-events-meta-group,
.s-dark .tribe-events-meta-group,
.site-s-dark .tribe-events-meta-group,
html.s-dark .tribe-events-single-section-title,
html.site-s-dark .tribe-events-single-section-title,
.s-dark .tribe-events-single-section-title,
.site-s-dark .tribe-events-single-section-title,
html.s-dark .tribe-events-meta-label,
html.site-s-dark .tribe-events-meta-label,
.s-dark .tribe-events-meta-label,
.site-s-dark .tribe-events-meta-label,
html.s-dark .tribe-events-meta-value,
html.site-s-dark .tribe-events-meta-value,
.s-dark .tribe-events-meta-value,
.site-s-dark .tribe-events-meta-value,
html.s-dark .tribe-events-meta-value a,
html.site-s-dark .tribe-events-meta-value a,
.s-dark .tribe-events-meta-value a,
.site-s-dark .tribe-events-meta-value a,
html.s-dark .tribe-events-meta-item,
html.site-s-dark .tribe-events-meta-item,
.s-dark .tribe-events-abbr,
.site-s-dark .tribe-events-abbr {
  color: #ffffff !important;
}

html.s-dark .tribe-events-back a,
html.site-s-dark .tribe-events-back a,
.s-dark .tribe-events-back a,
.site-s-dark .tribe-events-back a,
html.s-dark .tribe-events-nav-previous a,
html.site-s-dark .tribe-events-nav-previous a,
.s-dark .tribe-events-nav-next a,
.site-s-dark .tribe-events-nav-next a,
html.s-dark .tribe-events-c-subscribe-dropdown__button-text,
html.site-s-dark .tribe-events-c-subscribe-dropdown__button-text,
.s-dark .tribe-events-c-subscribe-dropdown__list-item-link,
.site-s-dark .tribe-events-c-subscribe-dropdown__list-item-link {
  color: #a8d0ff !important;
}

/* kill leftover gray from TEC/theme on single */
html.s-dark .single-tribe_events .tribe-events-single,
html.site-s-dark .single-tribe_events .tribe-events-single,
html.s-dark .single-tribe_events .tribe-events-single *:not(a):not(svg):not(path),
html.site-s-dark .single-tribe_events .tribe-events-single *:not(a):not(svg):not(path) {
  color: #ffffff !important;
}
html.s-dark .single-tribe_events .tribe-events-single a,
html.site-s-dark .single-tribe_events .tribe-events-single a {
  color: #a8d0ff !important;
}


/* CFN: single event — mobile + high-specificity dark mode (SmartMag toggle) */
@media (max-width: 940px) {
  html.s-dark.single-tribe_events .tribe-events-single,
  html.site-s-dark.single-tribe_events .tribe-events-single,
  html.s-dark .tribe-events-single,
  html.site-s-dark .tribe-events-single,
  html.s-dark.single-tribe_events .entry-content,
  html.site-s-dark.single-tribe_events .entry-content,
  html.s-dark.single-tribe_events .main-wrap,
  html.site-s-dark.single-tribe_events .main-wrap,
  html.s-dark.single-tribe_events .content-wrap,
  html.site-s-dark.single-tribe_events .content-wrap {
    color: #ffffff !important;
  }
  html.s-dark.single-tribe_events .tribe-events-single *:not(a):not(svg):not(path):not(img),
  html.site-s-dark.single-tribe_events .tribe-events-single *:not(a):not(svg):not(path):not(img),
  html.s-dark .tribe-events-single-event-title,
  html.site-s-dark .tribe-events-single-event-title,
  html.s-dark .tribe-events-schedule,
  html.site-s-dark .tribe-events-schedule,
  html.s-dark .tribe-events-schedule *,
  html.site-s-dark .tribe-events-schedule *,
  html.s-dark .tribe-events-content,
  html.site-s-dark .tribe-events-content,
  html.s-dark .tribe-events-content p,
  html.site-s-dark .tribe-events-content p,
  html.s-dark .tribe-events-single-event-description,
  html.site-s-dark .tribe-events-single-event-description,
  html.s-dark .tribe-events-single-event-description p,
  html.site-s-dark .tribe-events-single-event-description p,
  html.s-dark .tribe-events-meta-label,
  html.site-s-dark .tribe-events-meta-label,
  html.s-dark .tribe-events-meta-value,
  html.site-s-dark .tribe-events-meta-value,
  html.s-dark .tribe-events-meta-item,
  html.site-s-dark .tribe-events-meta-item,
  html.s-dark .tribe-events-single-section-title,
  html.site-s-dark .tribe-events-single-section-title,
  html.s-dark .tribe-events-abbr,
  html.site-s-dark .tribe-events-abbr {
    color: #ffffff !important;
  }
  html.s-dark.single-tribe_events .tribe-events-single a,
  html.site-s-dark.single-tribe_events .tribe-events-single a,
  html.s-dark .tribe-events-back a,
  html.site-s-dark .tribe-events-back a,
  html.s-dark .tribe-events-meta-value a,
  html.site-s-dark .tribe-events-meta-value a {
    color: #a8d0ff !important;
  }
}

/* Also when dark class is on body (some SmartMag mobile paths) */
body.s-dark.single-tribe_events .tribe-events-single,
body.site-s-dark.single-tribe_events .tribe-events-single,
body.s-dark .tribe-events-single *:not(a):not(svg):not(path):not(img),
body.site-s-dark .tribe-events-single *:not(a):not(svg):not(path):not(img) {
  color: #ffffff !important;
}
body.s-dark.single-tribe_events .tribe-events-single a,
body.site-s-dark.single-tribe_events .tribe-events-single a {
  color: #a8d0ff !important;
}
