/* Visually hidden class for screen-reader-only content */
.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; /* added line */
  border: 0 !important;
}

/* Ensure clear focus outlines for keyboard users */
a:focus, button:focus, [role="button"]:focus, [tabindex="0"]:focus {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* Improve contrast for menu items and key CTA links when over images */
.qodef-menu-item-text,
.qodef-header-navigation a,
.elementor a.qodef-button-link,
a[href*="self_service/entry_points"] {
  color: #111;
}

/* Figure elements used only for layout should not be announced */
figure.wp-block-image[role="none"],
figure.wp-block-image[role="presentation"] {
  /* no visual changes */
}

/* Carousel and slider ARIA landmarks */
.qodef-rev-slider-holder[role="region"],
.qodef-swiper-container[role="region"],
.elementor-widget-slider[role="region"] {
  /* no visual changes; purely semantic */
}

/* Ensure clickable arrows present clear hit area */
.tparrows, .swiper-button-next, .swiper-button-prev {
  cursor: pointer;
}

/* Prevent negative letter-spacing below WCAG-safe thresholds */
.qodef-m-title { letter-spacing: -0.5px; }
