/* WCAG 2.4.7 (Focus Visible AA), 2.4.11 (Focus Not Obscured AAA),
 * 1.4.11 (Non-text Contrast AA) — do not remove.
 *
 * Visible double-ring focus indicator. Keyed on :focus-visible so a mouse
 * click does NOT trigger the ring (only keyboard / programmatic focus does).
 *
 *   - Inner ring: 2px solid #0A58CA outline at 2px offset (≈5.4:1 contrast on white).
 *   - Outer ring: 4px white box-shadow (rescues contrast on brand-blue #454FFF
 *     and bg-dark surfaces where the blue inner ring alone would fall below 3:1).
 *
 * !important is intentional — Bootstrap 5's per-component :focus-visible rules
 * (.btn-check:focus-visible+.btn, .form-control:focus, etc.) use higher
 * selector specificity than a plain :focus-visible. The accessibility ring
 * must win across every focusable element. */
:focus-visible {
  outline: 2px solid #0A58CA !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px #FFFFFF !important;
}

.roboto {
  font-family: "Roboto Mono", sans-serif;
}

.roboto-jumbotron {
  font-family: "Roboto Mono", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

.roboto-mono {
  font-family: "Roboto Mono", sans-serif;
}

/* DIR-89 (WCAG 1.4.3): #979797 measured 2.92:1 on white — failed AA on
 * hero sub-headline + testimonial body. #595959 is 7.00:1 on white. */
.text-body-secondary-light {
  color: #595959;
}

/* DIR-89: stronger blue token for small text on light surfaces.
 * #0A58CA on #F8F9FA = 4.61:1 (AA). Bootstrap's default .text-primary
 * (#0D6EFD) is 4.26:1 on bg-light — below AA. */
.text-primary-strong {
  color: #0A58CA;
}

/* DIR-89: darker legal-link token. #495057 on white = 8.59:1.
 * Replaces .text-body-secondary on footer legal links which sat at
 * 4.69:1 on white and 4.44:1 on bg-light — below the buffer needed
 * for older eyes and varying screens. */
.text-legal-link {
  color: #495057;
}

.text-legal-link:hover,
.text-legal-link:focus {
  color: #212529;
}

/* DIR-89: darken the active list-group surface and force a pure-white
 * subtitle so the contrast clears AA with margin. Bootstrap's default
 * active bg (#0D6EFD) puts white at only ~4.59:1 — sub-pixel rendering
 * pushes axe's measurement below 4.5 in practice. #0A58CA gives white
 * 5.94:1, which clears AA on every browser. */
.list-group-item-action.active,
.list-group-item.active {
  background-color: #0A58CA !important;
  border-color: #0A58CA !important;
}

.list-group-item-action.active small.text-muted,
.list-group-item.active small.text-muted {
  color: #FFFFFF !important;
}

.top-buffer {
  margin-top: 7rem;
}

.top-83 {
  top: 83% !important;
}

.start-15 {
  left: 15% !important;
}

.mt-n1 {
  margin-top: -0.25rem !important;
}

.mt-n2 {
  margin-top: -0.5rem !important;
}

.mt-n3 {
  margin-top: -0.75rem !important;
}

.text-underline-hover {
  text-decoration: none;
}

.text-underline-hover:hover {
  text-decoration: underline;
}

.bg-primary {
  background-color: #454FFF !important;
}

/* Interview report toast notification */
.interview-report-toast {
  top: 80px;
  right: 20px;
  z-index: 1050;
  max-width: 350px;
}