/* Accessibility Toolbar */
#a11y-toolbar {
  position: fixed;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99999;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.4;
  direction: ltr;
}
#a11y-toolbar .a11y-toggle {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 0 8px 8px 0;
  background: #4054b2;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 2px 2px 8px rgba(0,0,0,0.2);
  transition: background 0.2s;
  padding: 0;
}
#a11y-toolbar .a11y-toggle:hover,
#a11y-toolbar .a11y-toggle:focus {
  background: #2c3e8f;
  outline: 2px solid #fff;
}
#a11y-toolbar .a11y-panel {
  position: absolute;
  left: -260px;
  top: 50%;
  transform: translateY(-50%);
  width: 220px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  box-shadow: 2px 2px 12px rgba(0,0,0,0.15);
  transition: left 0.3s ease;
  overflow: hidden;
}
#a11y-toolbar.open .a11y-panel {
  left: 50px;
}
#a11y-toolbar .a11y-panel-title {
  font-weight: bold;
  padding: 12px 15px 8px;
  margin: 0;
  font-size: 15px;
  color: #333;
  border-bottom: 1px solid #eee;
}
#a11y-toolbar .a11y-panel ul {
  list-style: none;
  margin: 0;
  padding: 8px 0;
}
#a11y-toolbar .a11y-panel li {
  margin: 0;
  padding: 0;
}
#a11y-toolbar .a11y-panel button[data-action] {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 10px 15px;
  border: none;
  background: transparent;
  color: #333;
  font-size: 13px;
  cursor: pointer;
  text-align: left;
  font-family: Arial, Helvetica, sans-serif;
  transition: background 0.15s;
}
#a11y-toolbar .a11y-panel button[data-action]:hover,
#a11y-toolbar .a11y-panel button[data-action]:focus {
  background: #f0f0f0;
}
#a11y-toolbar .a11y-panel button[data-action].active {
  background: #e8eaf6;
  font-weight: bold;
  color: #4054b2;
}
#a11y-toolbar .a11y-panel button[data-action] svg {
  flex-shrink: 0;
}

/* Grayscale */
body.a11y-grayscale {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}

/* High Contrast */
body.a11y-high-contrast,
body.a11y-high-contrast *:not(#a11y-toolbar):not(#a11y-toolbar *) {
  background: #000 !important;
  background-color: #000 !important;
  color: #fff !important;
  box-shadow: none !important;
  text-shadow: none !important;
  background-image: none !important;
}
body.a11y-high-contrast a:not(#a11y-toolbar a),
body.a11y-high-contrast a:not(#a11y-toolbar a) * {
  color: #ff0 !important;
}
body.a11y-high-contrast h1:not(#a11y-toolbar h1),
body.a11y-high-contrast h2:not(#a11y-toolbar h2),
body.a11y-high-contrast h3:not(#a11y-toolbar h3),
body.a11y-high-contrast h4:not(#a11y-toolbar h4),
body.a11y-high-contrast h5:not(#a11y-toolbar h5),
body.a11y-high-contrast h6:not(#a11y-toolbar h6) {
  color: #40c090 !important;
}
body.a11y-high-contrast img:not(#a11y-toolbar img) {
  background: #808080 !important;
}

/* Negative Contrast */
body.a11y-negative-contrast,
body.a11y-negative-contrast *:not(#a11y-toolbar):not(#a11y-toolbar *) {
  background: #000 !important;
  color: #ff0 !important;
  background-image: none !important;
}
body.a11y-negative-contrast button:not(#a11y-toolbar button),
body.a11y-negative-contrast input:not(#a11y-toolbar input),
body.a11y-negative-contrast textarea:not(#a11y-toolbar textarea),
body.a11y-negative-contrast select:not(#a11y-toolbar select),
body.a11y-negative-contrast table:not(#a11y-toolbar table),
body.a11y-negative-contrast td:not(#a11y-toolbar td),
body.a11y-negative-contrast th:not(#a11y-toolbar th) {
  border: 1px solid #fff !important;
}

/* Light Background */
body.a11y-light-bg,
body.a11y-light-bg *:not(#a11y-toolbar):not(#a11y-toolbar *) {
  background: #fff !important;
  color: #000 !important;
}

/* Links Underline */
body.a11y-links-underline a:not(#a11y-toolbar a),
body.a11y-links-underline a:not(#a11y-toolbar a) * {
  text-decoration: underline !important;
}

/* Readable Font */
body.a11y-readable-font,
body.a11y-readable-font *:not(i):not(.fas):not(.far):not(.fab):not(.fa):not(#a11y-toolbar):not(#a11y-toolbar *) {
  font-family: Verdana, Arial, Helvetica, sans-serif !important;
}

/* Font Resize 110-200 */
body.a11y-font-110, body.a11y-font-110 p, body.a11y-font-110 li, body.a11y-font-110 label, body.a11y-font-110 input, body.a11y-font-110 select, body.a11y-font-110 textarea, body.a11y-font-110 span, body.a11y-font-110 blockquote, body.a11y-font-110 dd, body.a11y-font-110 dt { font-size: 110% !important; }
body.a11y-font-110 h1, body.a11y-font-110 h2, body.a11y-font-110 h3, body.a11y-font-110 h4, body.a11y-font-110 h5, body.a11y-font-110 h6 { font-size: 146% !important; }

body.a11y-font-120, body.a11y-font-120 p, body.a11y-font-120 li, body.a11y-font-120 label, body.a11y-font-120 input, body.a11y-font-120 select, body.a11y-font-120 textarea, body.a11y-font-120 span, body.a11y-font-120 blockquote, body.a11y-font-120 dd, body.a11y-font-120 dt { font-size: 120% !important; }
body.a11y-font-120 h1, body.a11y-font-120 h2, body.a11y-font-120 h3, body.a11y-font-120 h4, body.a11y-font-120 h5, body.a11y-font-120 h6 { font-size: 160% !important; }

body.a11y-font-130, body.a11y-font-130 p, body.a11y-font-130 li, body.a11y-font-130 label, body.a11y-font-130 input, body.a11y-font-130 select, body.a11y-font-130 textarea, body.a11y-font-130 span, body.a11y-font-130 blockquote, body.a11y-font-130 dd, body.a11y-font-130 dt { font-size: 130% !important; }
body.a11y-font-130 h1, body.a11y-font-130 h2, body.a11y-font-130 h3, body.a11y-font-130 h4, body.a11y-font-130 h5, body.a11y-font-130 h6 { font-size: 173% !important; }

body.a11y-font-140, body.a11y-font-140 p, body.a11y-font-140 li, body.a11y-font-140 label, body.a11y-font-140 input, body.a11y-font-140 select, body.a11y-font-140 textarea, body.a11y-font-140 span, body.a11y-font-140 blockquote, body.a11y-font-140 dd, body.a11y-font-140 dt { font-size: 140% !important; }
body.a11y-font-140 h1, body.a11y-font-140 h2, body.a11y-font-140 h3, body.a11y-font-140 h4, body.a11y-font-140 h5, body.a11y-font-140 h6 { font-size: 186% !important; }

body.a11y-font-150, body.a11y-font-150 p, body.a11y-font-150 li, body.a11y-font-150 label, body.a11y-font-150 input, body.a11y-font-150 select, body.a11y-font-150 textarea, body.a11y-font-150 span, body.a11y-font-150 blockquote, body.a11y-font-150 dd, body.a11y-font-150 dt { font-size: 150% !important; }
body.a11y-font-150 h1, body.a11y-font-150 h2, body.a11y-font-150 h3, body.a11y-font-150 h4, body.a11y-font-150 h5, body.a11y-font-150 h6 { font-size: 200% !important; }

body.a11y-font-160, body.a11y-font-160 p, body.a11y-font-160 li, body.a11y-font-160 label, body.a11y-font-160 input, body.a11y-font-160 select, body.a11y-font-160 textarea, body.a11y-font-160 span, body.a11y-font-160 blockquote, body.a11y-font-160 dd, body.a11y-font-160 dt { font-size: 160% !important; }
body.a11y-font-160 h1, body.a11y-font-160 h2, body.a11y-font-160 h3, body.a11y-font-160 h4, body.a11y-font-160 h5, body.a11y-font-160 h6 { font-size: 213% !important; }

body.a11y-font-170, body.a11y-font-170 p, body.a11y-font-170 li, body.a11y-font-170 label, body.a11y-font-170 input, body.a11y-font-170 select, body.a11y-font-170 textarea, body.a11y-font-170 span, body.a11y-font-170 blockquote, body.a11y-font-170 dd, body.a11y-font-170 dt { font-size: 170% !important; }
body.a11y-font-170 h1, body.a11y-font-170 h2, body.a11y-font-170 h3, body.a11y-font-170 h4, body.a11y-font-170 h5, body.a11y-font-170 h6 { font-size: 226% !important; }

body.a11y-font-180, body.a11y-font-180 p, body.a11y-font-180 li, body.a11y-font-180 label, body.a11y-font-180 input, body.a11y-font-180 select, body.a11y-font-180 textarea, body.a11y-font-180 span, body.a11y-font-180 blockquote, body.a11y-font-180 dd, body.a11y-font-180 dt { font-size: 180% !important; }
body.a11y-font-180 h1, body.a11y-font-180 h2, body.a11y-font-180 h3, body.a11y-font-180 h4, body.a11y-font-180 h5, body.a11y-font-180 h6 { font-size: 239% !important; }

body.a11y-font-190, body.a11y-font-190 p, body.a11y-font-190 li, body.a11y-font-190 label, body.a11y-font-190 input, body.a11y-font-190 select, body.a11y-font-190 textarea, body.a11y-font-190 span, body.a11y-font-190 blockquote, body.a11y-font-190 dd, body.a11y-font-190 dt { font-size: 190% !important; }
body.a11y-font-190 h1, body.a11y-font-190 h2, body.a11y-font-190 h3, body.a11y-font-190 h4, body.a11y-font-190 h5, body.a11y-font-190 h6 { font-size: 253% !important; }

body.a11y-font-200, body.a11y-font-200 p, body.a11y-font-200 li, body.a11y-font-200 label, body.a11y-font-200 input, body.a11y-font-200 select, body.a11y-font-200 textarea, body.a11y-font-200 span, body.a11y-font-200 blockquote, body.a11y-font-200 dd, body.a11y-font-200 dt { font-size: 200% !important; }
body.a11y-font-200 h1, body.a11y-font-200 h2, body.a11y-font-200 h3, body.a11y-font-200 h4, body.a11y-font-200 h5, body.a11y-font-200 h6 { font-size: 266% !important; }

/* Mobile */
@media (max-width: 767px) {
  #a11y-toolbar .a11y-panel {
    width: 200px;
  }
  #a11y-toolbar .a11y-panel button[data-action] {
    padding: 8px 12px;
    font-size: 12px;
  }
}
