/* Overrides for the vendored AppStack theme (static/appstack/css/*.css). */

/* AppStack sets `.alert { display: flex; padding: 0 }`, which strips the
   default Bootstrap alert padding. Restore Bootstrap's variable-driven
   padding and default block layout. */
.alert {
  --bs-alert-padding-x: 1rem;
  --bs-alert-padding-y: 0.65rem;
  display: block;
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
}

.skip-to-content {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 1100;
  padding: 0.5rem 0.75rem;
  border-radius: 0.25rem;
  background-color: #fff;
  color: #0d6efd;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.18);
}

a[href]:focus-visible,
button:focus-visible,
input:not([type="hidden"]):focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 3px solid #0d6efd;
  outline-offset: 2px;
}

.btn:focus-visible,
.btn-check:focus-visible + .btn,
.form-control:focus-visible,
.form-select:focus-visible,
.form-check-input:focus-visible,
.nav-link:focus-visible,
.page-link:focus-visible {
  outline: 3px solid #0d6efd;
  outline-offset: 2px;
}

.btn:focus-visible,
.btn-check:focus-visible + .btn,
.form-control:focus-visible,
.form-select:focus-visible,
.form-check-input:focus-visible,
.nav-link:focus-visible,
.page-link:focus-visible,
.form-control.is-valid:focus-visible,
.form-select.is-valid:focus-visible,
.form-check-input.is-valid:focus-visible,
.form-control.is-invalid:focus-visible,
.form-select.is-invalid:focus-visible,
.form-check-input.is-invalid:focus-visible,
.was-validated .form-control:valid:focus-visible,
.was-validated .form-select:valid:focus-visible,
.was-validated .form-check-input:valid:focus-visible,
.was-validated .form-control:invalid:focus-visible,
.was-validated .form-select:invalid:focus-visible,
.was-validated .form-check-input:invalid:focus-visible {
  box-shadow: none;
}

.sidebar .sidebar-link:focus-visible {
  outline-offset: -6px;
}

.sidebar .sidebar-brand:focus-visible {
  outline-offset: -6px;
}

#content:focus {
  outline: none;
}
