:root {
  --bt-a11y-blue: #1267c3;
  --bt-a11y-blue-dark: #073b78;
  --bt-a11y-green: #25a55f;
  --bt-a11y-ink: #142033;
  --bt-a11y-line: #d8e2ef;
  --bt-a11y-panel-bg: #ffffff;
}

html.bt-a11y-text-large {
  font-size: 112.5%;
}

html.bt-a11y-text-larger {
  font-size: 125%;
}

html.bt-a11y-readable body {
  line-height: 1.85;
}

html.bt-a11y-readable p,
html.bt-a11y-readable li,
html.bt-a11y-readable label,
html.bt-a11y-readable input,
html.bt-a11y-readable button {
  letter-spacing: .01em;
  word-spacing: .08em;
}

html.bt-a11y-underline a {
  text-decoration: underline !important;
  text-underline-offset: .18em;
  text-decoration-thickness: .09em;
}

html.bt-a11y-reduce-motion *,
html.bt-a11y-reduce-motion *::before,
html.bt-a11y-reduce-motion *::after {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
  transition-duration: .001ms !important;
}

html.bt-a11y-contrast body,
html.bt-a11y-contrast main,
html.bt-a11y-contrast section,
html.bt-a11y-contrast article,
html.bt-a11y-contrast header,
html.bt-a11y-contrast footer,
html.bt-a11y-contrast .card,
html.bt-a11y-contrast .topbar,
html.bt-a11y-contrast .hero,
html.bt-a11y-contrast .section {
  background: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
  box-shadow: none !important;
}

html.bt-a11y-contrast h1,
html.bt-a11y-contrast h2,
html.bt-a11y-contrast h3,
html.bt-a11y-contrast p,
html.bt-a11y-contrast li,
html.bt-a11y-contrast span,
html.bt-a11y-contrast .tagline,
html.bt-a11y-contrast .eyebrow {
  color: #fff !important;
}

html.bt-a11y-contrast a {
  color: #8bd4ff !important;
}

html.bt-a11y-contrast button,
html.bt-a11y-contrast .button {
  background: #fff !important;
  color: #000 !important;
  border: 2px solid #fff !important;
}

.bt-a11y-toggle,
.bt-a11y-panel button {
  font-family: inherit;
}

.bt-a11y-toggle {
  position: fixed;
  z-index: 9999;
  inset-inline-start: 18px;
  inset-block-end: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 56px;
  min-height: 56px;
  padding: 12px 14px;
  border: 2px solid rgba(7, 59, 120, .18);
  border-radius: 999px;
  background: var(--bt-a11y-blue);
  color: #fff;
  box-shadow: 0 14px 34px rgba(7, 59, 120, .26);
  cursor: pointer;
}

.bt-a11y-toggle svg {
  width: 26px;
  height: 26px;
  flex: 0 0 auto;
}

.bt-a11y-toggle-text {
  font-size: 14px;
  font-weight: 900;
}

.bt-a11y-toggle:focus-visible,
.bt-a11y-panel button:focus-visible,
.bt-a11y-panel a:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
}

.bt-a11y-panel {
  position: fixed;
  z-index: 9998;
  inset-inline-start: 18px;
  inset-block-end: 88px;
  width: min(360px, calc(100vw - 32px));
  max-height: min(70vh, 540px);
  overflow: auto;
  padding: 18px;
  border: 1px solid var(--bt-a11y-line);
  border-radius: 18px;
  background: var(--bt-a11y-panel-bg);
  color: var(--bt-a11y-ink);
  box-shadow: 0 24px 70px rgba(15, 41, 77, .2);
}

.bt-a11y-panel[hidden] {
  display: none;
}

.bt-a11y-panel-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.bt-a11y-panel-title {
  margin: 0;
  font-size: 20px;
  color: var(--bt-a11y-blue-dark);
}

.bt-a11y-panel-note {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 14px;
  line-height: 1.45;
}

.bt-a11y-close {
  width: 40px;
  height: 40px;
  border: 1px solid var(--bt-a11y-line);
  border-radius: 12px;
  background: #f8fbff;
  color: var(--bt-a11y-blue-dark);
  font-size: 22px;
  font-weight: 900;
  cursor: pointer;
}

.bt-a11y-actions {
  display: grid;
  gap: 10px;
}

.bt-a11y-actions button,
.bt-a11y-statement {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid var(--bt-a11y-line);
  border-radius: 12px;
  background: #fff;
  color: var(--bt-a11y-ink);
  font-size: 15px;
  font-weight: 800;
  text-align: start;
  text-decoration: none;
  cursor: pointer;
}

.bt-a11y-actions button[aria-pressed="true"] {
  border-color: var(--bt-a11y-green);
  background: #effaf4;
  color: #0c5a30;
}

.bt-a11y-statement {
  margin-top: 12px;
  color: var(--bt-a11y-blue);
}

@media (max-width: 640px) {
  .bt-a11y-toggle {
    inset-inline-start: 12px;
    inset-block-end: 12px;
    min-width: 52px;
    min-height: 52px;
    padding: 10px 12px;
  }

  .bt-a11y-toggle-text {
    display: none;
  }

  .bt-a11y-panel {
    inset-inline: 12px;
    inset-block-end: 76px;
    width: auto;
    max-height: min(72vh, 520px);
    padding: 16px;
  }
}
