/**
 * @file
 * Accessibility styles for IMS theme.
 *
 * Provides WCAG 2.1 Level AA compliant focus indicators and skip link styles.
 * Color contrast verified:
 *   - Skip link: #ffffff on #1c3c5e = ~11:1 ratio (exceeds 4.5:1 AA)
 *   - Focus indicator: #efa41e meets 3:1 against both dark and light backgrounds
 */

/* Skip Link */
.skip-link {
  position: absolute;
  top: -100vh;
  left: 0;
  z-index: 10000;
  padding: 0.75rem 1.5rem;
  background: #1c3c5e;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: top 0.1s;
}
.skip-link:focus {
  top: 0;
  outline: 3px solid #efa41e;
  outline-offset: 2px;
}

/* Focus-visible indicators */
:focus-visible {
  outline: 3px solid #efa41e;
  outline-offset: 2px;
}
:focus:not(:focus-visible) {
  outline: none;
}

/* Text spacing support - WCAG 2.1 SC 1.4.12
 * Ensures content doesn't clip when users apply custom text spacing:
 * - Line height: 1.5x font size
 * - Paragraph spacing: 2x font size
 * - Letter spacing: 0.12em
 * - Word spacing: 0.16em
 *
 * Layout-critical text containers must not use overflow:hidden with
 * fixed heights that would clip expanded text. Navigation, headings,
 * body text, form labels, and buttons use relative font units (rem)
 * to support browser zoom up to 200% with reflow at 320 CSS pixels.
 */
.sidenav a,
.nav-side-menu,
.ims_main_menu .nav-link,
footer,
footer #accordion a,
h1, h2, h3, h4, h5, h6,
.h3, .h4,
.div_label,
label,
button,
.btn,
input[type="submit"],
.hp_read_more button {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* Data type selection buttons - reset button appearance to match
 * original h2 styling. The h2 role="button" elements were replaced
 * with semantic <button> elements for accessibility (task 14.3).
 */
#data_type_selection_list button.item {
  display: block;
  width: 100%;
  text-align: start;
  font-weight: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

/* Risk level legend for risk maps table */
.risk-level-legend {
  margin-top: 1rem;
  padding: 0.5rem 0;
}
.risk-level-legend .risk-level-item {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  margin: 0.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  border: 1px solid #333;
  border-radius: 3px;
}

/* Warning severity text indicator */
.warning-severity-text {
  font-weight: 600;
}
