:root {
  --cka11y-ink: #182d38;
  --cka11y-teal: #174f4d;
  --cka11y-coral: #9e3925;
  --cka11y-blue: #1557a0;
  --cka11y-focus: #ffbf47;
}

.cka11y-skip-link {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2147483647;
  display: inline-block;
  padding: 0.75rem 1rem;
  border: 3px solid #ffffff;
  border-radius: 0.4rem;
  background: #000000;
  color: #ffffff !important;
  font: 700 1rem/1.2 system-ui, sans-serif;
  text-decoration: underline;
  transform: translateY(-220%);
  transition: transform 120ms ease;
}

.cka11y-skip-link:focus,
.cka11y-skip-link:focus-visible {
  transform: translateY(0);
  outline: 4px solid var(--cka11y-focus) !important;
  outline-offset: 2px !important;
}

:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 3px solid var(--cka11y-focus) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 2px #182d38 !important;
}

.cka11y-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Global mobile navigation contrast. */
.uael-nav-menu-label {
  color: #ffffff !important;
}

/* Premium world-clock text can inherit a muted accent on dark template bars. */
.premium-world-clock__hours,
.premium-world-clock__minutes,
.premium-world-clock__meridiem,
.premium-world-clock__date,
.premium-world-clock__separator {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Inline content links must not rely on color alone. */
:where(.entry-content, .elementor-widget-theme-post-content, .cksa-result-content, main p, main li) a:not([class]),
:where(.entry-content, .elementor-widget-theme-post-content, main p, main li) a[target="_blank"] {
  color: var(--cka11y-blue) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 0.1em !important;
  text-underline-offset: 0.16em !important;
}

/* Elementor article cards and article-template controls. */
.elementor-post__excerpt p,
.elementor-post-date {
  color: #626262 !important;
}

.elementor-post-info__item--type-comments,
.elementor-post-info__item--type-date time,
.elementor-widget-post-info time,
.elementor-divider__text {
  color: #b00032 !important;
}

.elementor-share-btn_twitter {
  background-color: #0b6794 !important;
}

#submit,
.directorist-dropdown__toggle,
.ckcf-search-submit {
  background-color: var(--cka11y-teal) !important;
  color: #ffffff !important;
}

#form-field-email::placeholder,
input::placeholder,
textarea::placeholder {
  color: #5f676b !important;
  opacity: 1 !important;
}

body #form-field-email,
body #form-field-email::placeholder {
  color: #4f595d !important;
  opacity: 1 !important;
}

.elementor-element-1c24a57f {
  color: #555d61 !important;
}

/* The Events Calendar muted/past day cells. */
.tribe-events .tribe-events-calendar-month__day-cell--past .tribe-events-calendar-month__day-date-daynum,
.tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date-daynum,
.tribe-events button[aria-label*="past day"] .tribe-events-calendar-month__day-date-daynum,
.tribe-events .tribe-events-calendar-month__day-date-daynum[datetime] {
  color: #ffffff !important;
}

/* Preserve dark text on light, non-past desktop calendar cells. */
.tribe-events .tribe-events-calendar-month__day:not(.tribe-events-calendar-month__day--past) .tribe-events-calendar-month__day-cell:not(.tribe-events-calendar-month__day-cell--selected):not(.tribe-events-calendar-month__day-cell--mobile) .tribe-events-calendar-month__day-date-daynum {
  color: #182d38 !important;
}

/* Category archives use the calendar without the outer .tribe-events class. */
body .tribe-events-calendar-month__day-date-daynum[datetime] {
  color: #ffffff !important;
}

body .tribe-events-calendar-month__day:not(.tribe-events-calendar-month__day--past) .tribe-events-calendar-month__day-cell:not(.tribe-events-calendar-month__day-cell--selected):not(.tribe-events-calendar-month__day-cell--mobile) .tribe-events-calendar-month__day-date-daynum {
  color: #182d38 !important;
}

body button[aria-label*="past day"] .tribe-events-calendar-month__day-date-daynum,
body .tribe-events-calendar-month__day-cell--mobile .tribe-events-calendar-month__day-date-daynum,
body .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date-daynum {
  color: #ffffff !important;
}

body .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date {
  opacity: 1 !important;
}

/* Shared Chickasha template color tokens. */
:where(
  .ckaaj-kicker,
  .ckasi-kicker,
  .ckaco-kicker,
  .ckct-kicker,
  .ckae-eyebrow,
  .ckan-eyebrow,
  .ckap-eyebrow,
  .cksa-result-type,
  .ckap-card__link,
  .ckap-side-card__label,
  .ckaaj-text-link,
  .atbdp_recovery_pass,
  .ckct-quick-links a,
  .ckasi-guide nav a,
  .ckaco-guide nav a
) {
  color: var(--cka11y-coral) !important;
}

:where(
  .ckaaj-guide__note,
  .ckasi-guide__note,
  .ckaco-guide__note,
  .ckct-privacy-note
) {
  color: #40545b !important;
}

:where(
  .cka-cta__inner,
  .ckae-footer-cta__inner,
  .ckan-footer-cta__inner
) p {
  color: #ffffff !important;
}

.ckae-event-date__month {
  color: #ffffff !important;
}

.ckad-sidebar-intro {
  background: var(--cka11y-coral) !important;
}

.ckad-sidebar-intro :where(h2, p, .ckad-sidebar-intro__eyebrow) {
  color: #ffffff !important;
}

:where(
  .ckbl-button--coral,
  .ckcf-button--coral,
  .cklj-button--coral,
  .directorist-authentication__btn--signup
) {
  background-color: var(--cka11y-coral) !important;
  color: #ffffff !important;
}

.directorist-alert-warning,
.directorist-alert-warning a {
  color: #783000 !important;
}

.directorist-filter-btn {
  background-color: var(--cka11y-teal) !important;
  color: #ffffff !important;
}

.directorist-type-nav__link {
  color: #555d61 !important;
}

.gfield_required_text {
  color: var(--cka11y-coral) !important;
}

.gfield--type-consent .gfield_required_text {
  color: #7d2d1d !important;
}

.ckap-quick-filter span {
  color: var(--cka11y-coral) !important;
}

body .atbdp_recovery_pass,
body .ckasi-guide nav a,
body .ckaco-guide nav a,
body .ckaaj-guide nav a {
  color: var(--cka11y-coral) !important;
}

body.ckasi-sign-in-template .ckasi-directorist a.atbdp_recovery_pass,
body .ckaaj-main a.ckaaj-text-link,
body .ckap-page a.ckap-card__link,
body .ckct-quick-links > a,
body .ckaco-guide nav > a,
body .ckasi-guide nav > a {
  color: #8f321f !important;
}

body .ckap-side-card--teal .ckap-side-card__label {
  color: #ffffff !important;
}

body button.directorist-filter-btn.directorist-btn {
  background-color: var(--cka11y-teal) !important;
  border-color: var(--cka11y-teal) !important;
  color: #ffffff !important;
}

body.directorist-content-active .directorist-listings-header__left button.directorist-filter-btn.directorist-btn {
  background-color: var(--cka11y-teal) !important;
  border-color: var(--cka11y-teal) !important;
  color: #ffffff !important;
}

body .ckap-quick-filter button span,
body button[data-quick-filter] span {
  color: #8f321f !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
