:root {
  /* Define the variable here */
  --form-border-color: #949494;
}

/* Form inputs, selects, textareas — visible border */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="file"],
select,
textarea {
  border: 1px solid var(--form-border-color) !important; /* ~5.9:1 on white */
  border-radius: 3px;
}

/* Checkboxes and radios */
/* input[type="checkbox"],
input[type="radio"] {
  outline: 1px solid var(--form-border-color);
  outline-offset: 1px;
} */

/* Buttons — ensure visible boundary */
button,
input[type="submit"],
input[type="reset"],
input[type="button"],
.btn,
a.btn {
  border: 1px solid var(--form-border-color) !important;
}

/* If your buttons already have a dark background, override to use their own bg as boundary: */
button[style*="background"],
input[type="submit"][style*="background"] {
  border-color: currentColor !important;
}

/* dms 04-23-2026 - This is the version from the api_init_form.tpl tweaking. */

/* Base Accessibility */
  .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
  .sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; }
  
  /* Main Content Focus */
  #main-content:focus { outline: none; }

  /* High Contrast Form Elements */
  input[type="text"], input[type="email"], select, textarea {
    border: 1px solid #949494 !important; 
    background-color: #fcfcfc !important;
    color: #000 !important;
    border-radius: 2px;
    padding: 6px;
  }

  input[type="password"] {
    border: 1px solid #949494 !important;
    background-color: #fcfcfc !important;
    color: #000 !important;
    border-radius: 2px;
    padding: 6px;
  }
  
  input[type="checkbox"], input[type="radio"] {
    border: 1px solid #949494 !important;
    width: 1.5em;
    height: 1.5em;
    cursor: pointer;
    vertical-align: middle;
  }

  /* High Contrast Buttons - Dark blue TEXT with black hover */
  /* Alt button code to try to fix EFI formatting */
  .button-fix, .oadatb-button {
    border: 1px solid #333 !important;
    background-color: #eee !important;
    color: #005a9c !important;
    font-weight: bold !important;
    padding: 5px 10px !important;
    text-transform: capitalize;
    cursor: pointer;
    display: inline-block;
    font-size: 12px !important;
}
  
  .button-fix:hover, .oadatb-button:hover {
    background-color: #ddd !important;
    color: #000 !important;
  }

  /* Button Alignment */
  .context-nav2 {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 30px;
    flex-wrap: wrap;
  }

  h1 {
    font-size: 1.3rem;
  }

  caption {
    caption-side: top;
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.2;
    padding: 0 0 12px 0;
    text-align: left;
    color: #000;
  }

  hr { border: 0; border-top: 2px solid #949494;}

  /* Focus States */
  input:focus, select:focus, textarea:focus, button:focus {
    outline: 2px solid #005a9c !important; 
    outline-offset: 1px;
    background-color: #fff !important;
    color: #000 !important;
  }

  /* Attempts to fix alignment issue on EFIs */
  /* Allow nowrap cells to wrap so content stays in container */
td[nowrap], th[nowrap], td[NOWRAP], th[NOWRAP] {
  white-space: normal !important;
  word-wrap: break-word;
}

a .button-fix, a button.button-fix {
  color: #005a9c !important;
}

input.button-fix, input[type="submit"].button-fix, button.button-fix, .oadatb-button {
    border: 1px solid #333 !important;
    background-color: #ffffff !important;
}

.dt-closed-efi-box select {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 2px solid #555555 !important;
}

.dt-closed-efi-box select option {
    background-color: #ffffff !important;
    color: #000000 !important;
}


/* Utility class to selectively apply white background to support contrast */
.white_bg {
    background-color: #fff !important;
}

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

.skip-link {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    background: #003366;
    color: white;
    z-index: 1000;
    text-decoration: none;
}

.skip-link:focus {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    padding: 8px;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
}

.radio-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    white-space: nowrap; /* Forces content to stay on one line */
    gap: 6px;            /* Adds consistent spacing between buttons/labels */
    margin-right: 20px;
}

/* Our fmla.css button code violates contrast requirements for the green success buttons */
input[type="submit"].button-success,
input[type="reset"].button-success,
button.button-success {
  background: #4caf50;
  color: #ffffff;
  border: 1px solid #2e7d32;
  border-radius: 4px;
  padding: 4px 12px;
  cursor: pointer;
  font-size: 0.8125rem;
  font-family: arial, helvetica, sans-serif;
}

input[type="submit"].button-success:hover,
input[type="reset"].button-success:hover,
button.button-success:hover {
  background: #43a047;
}

input[type="submit"].button-success:focus,
input[type="reset"].button-success:focus,
button.button-success:focus {
  outline: 2px solid #1b5e20;
  outline-offset: 2px;
}
.dark-bar .button-fix {
    color: #003366 !important;
    background-color: #ffffff !important;
    border-color: #ffffff !important;
}
