/* ULFAH Section 8 - scoped WCAG and keyboard refinements, 2026-10-21. */

/* Allow native keyboard radio navigation without showing the JetSmartFilters inputs.
   The plugin normally sets display:none, which removes them from accessibility trees. */
body.home .jet-radio-list-wrapper .jet-radio-list__item { position: relative; }
body.home .jet-radio-list-wrapper input.jet-radio-list__input[type="radio"] {
  display: block !important;
  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;
  clip-path: inset(50%) !important;
  white-space: nowrap !important; opacity: 0 !important;
}
body.home .jet-radio-list-wrapper input.jet-radio-list__input:focus-visible + .jet-radio-list__button {
  outline: 3px solid #075e55 !important; outline-offset: 3px;
}
/* Keep a 6px visible dot, but provide a 24x24 pixel clickable/focusable target. */
body.home .swiper-pagination-bullet[role="button"] {
  width: 24px !important; height: 24px !important;
  min-width: 24px !important; min-height: 24px !important;
  display: inline-flex !important; justify-content: center; align-items: center;
  background: transparent !important; opacity: 1 !important;
  margin-inline: 1px !important;
}
body.home .swiper-pagination-bullet[role="button"]::after {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #899a94;
}
body.home .swiper-pagination-bullet-active[role="button"]::after { background: #087565; }
body.home .swiper-pagination-bullet[role="button"]:focus-visible {
  outline: 3px solid #087565; outline-offset: 2px;
}

/* Fix directly measured contrast defects, preserving the existing green/grey palette. */
body.home .custom-amount1-wrapper > .usd { color: #626262 !important; }
.cardSlideChildren .content-container-child .number-label { color: #777777 !important; }
body:is(.page-id-920,.page-id-4417,.page-id-941,.page-id-4418)
  .jet-form-builder .jet-form-builder__submit {
  background-color: #087565 !important; color: #ffffff !important;
}
body:is(.page-id-920,.page-id-4417,.page-id-941,.page-id-4418)
  :is(.lost,a[href$="login-page/"],a[href$="sign-up/"]) {
  color: #087565 !important;
}
body:is(.page-id-1228,.page-id-4204)
  :is(.elementor-element-35644db,.elementor-element-b530d3a) > .elementor-widget-container {
  color: #626262 !important;
}
body:is(.page-id-1299,.page-id-4435) .elementor-icon-box-description {
  color: #686868 !important;
}
body.woocommerce .woocommerce ul.products li.product .price .amount,
body.woocommerce ul.products li.product .price .amount {
  color: #666000 !important;
}
.elementor-location-header .elementor-element-3e90d93 .elementor-icon-box-title a[href="#donation-popup"] {
  color: #c00b37 !important;
}
/* Additional measured edge cases: account link differentiation and dark header. */
body:is(.page-id-920,.page-id-4417,.page-id-941,.page-id-4418) :is(p > a[href$="login-page/"],p > a[href$="sign-up/"],.elementor-widget-container > a[href$="sign-up/"]) {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
body:is(.page-id-941,.page-id-4418) .jet-form-builder .lost {
  color: #087565 !important;
}
body:is(.page-id-4417,.page-id-4418) .wpml-ls-native[lang="en"] {
  color: #fefefe !important;
}
/* Shared sticky Donate text was borderline (4.49:1): refine the same existing red. */
body .elementor-element-3e90d93 .elementor-icon-box-title a[href="#donation-popup"] {
  color: #bb0733 !important;
}
body:is(.page-id-1228,.page-id-4204) .elementor-element-6c9c753 > .elementor-widget-container {
  color: #626262 !important;
}
/* Transparency CTA buttons: preserve the existing red family with an opaque fill. */
body:is(.page-id-1299,.page-id-4435) :is(.elementor-element-87759d6,.elementor-element-41f29320,.elementor-element-3a768a5f) .elementor-button {
  background-color: #b41440 !important;
  color: #ffffff !important;
}
