.vox-skip-link {
  position: absolute;
  left: 0;
  top: -60px;
  background: #000;
  color: #fff;
  padding: 12px 16px;
  z-index: 100000;
  text-decoration: none;
}

.vox-skip-link:focus {
  top: 0;
}

.vox-a11y-toolbar {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 99999;
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap: 8px;
  background: #0d1b2a;
  border: 2px solid #ffffff;
  border-radius: 12px;
  padding: 10px;
  max-width: 320px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

.vox-btn {
  border: 2px solid #ffffff;
  background: #1b263b;
  color: #ffffff;
  border-radius: 8px;
  padding: 10px;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
}

.vox-btn:hover,
.vox-btn:focus {
  background: #415a77;
  outline: 3px solid #ffd166;
  outline-offset: 2px;
}

/* High-contrast mode. */
html.vox-high-contrast,
html.vox-high-contrast body {
  background: #000000 !important;
  color: #ffffff !important;
}

html.vox-high-contrast a {
  color: #ffff00 !important;
  text-decoration: underline !important;
}

html.vox-high-contrast button,
html.vox-high-contrast input,
html.vox-high-contrast select,
html.vox-high-contrast textarea {
  background: #000000 !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}

/* Always keep keyboard focus visible. */
*:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 2px;
}

@media (max-width: 700px) {
  .vox-a11y-toolbar {
    left: 12px;
    right: 12px;
    max-width: none;
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }
}
