#accessibility-widget-container {
  font-family: "Roboto", sans-serif !important;
  line-height: 1.5;
  z-index: 9999999;
}

#accessibility-widget-container * {
  box-sizing: border-box;
  font-family: "Roboto", sans-serif !important;
}

#accessibility-toggle-btn.header-style {
  background: transparent;
  border: 2px solid var(--color-grey-300);
  color: var(--color-black);
  cursor: pointer;
  padding: 6px 12px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
  font-size: 14px;
  transition: all 0.3s ease;
  line-height: 1;
  border-radius: 0;
  margin-left: 30px;
}

#accessibility-toggle-btn.header-style:hover {
  background-color: var(--color-blue-100);
  border-color: var(--color-blue-100);
  color: var(--color-white);
}

#accessibility-toggle-btn.header-style svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}

@media (max-width: 768px) {
  #accessibility-toggle-btn.header-style .accessibility-text {
    display: none;
  }
  #accessibility-toggle-btn.header-style {
    padding: 8px;
  }
}

#accessibility-panel {
  position: fixed;
  top: 85px;
  right: var(--wrap);
  width: 320px;
  background: var(--color-white);
  z-index: 999999;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  border: 2px solid var(--color-blue-100);
  border-radius: 0;

  overflow-y: auto;
  max-height: calc(100vh - 120px);

  scrollbar-width: thin;
  scrollbar-color: var(--color-blue-100) var(--color-grey-010);
}

#accessibility-panel::-webkit-scrollbar {
  width: 6px;
}

@media (max-width: 768px) {
  #accessibility-panel {
    top: 70px;
    right: 10px;
    width: calc(100% - 20px);
    max-width: 320px;
  }
}

#accessibility-panel.hidden {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-20px);
  pointer-events: none;
}

.accessibility-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background: var(--color-grey-010);
  border-bottom: 1px solid var(--color-grey-050);
}

.accessibility-header h3 {
  margin: 0;
  color: var(--color-blue-200);
  font-weight: 700;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.close-x {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: var(--color-grey-300);
  transition: color 0.3s ease;
  line-height: 1;
  padding: 0;
}

.close-x:hover {
  color: var(--color-error);
}

.accessibility-body {
  padding: 20px;
  position: relative;
  z-index: 1;
}

.accessibility-body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  background-image: url("../../assets/bigLogo.png");

  background-repeat: no-repeat;
  background-position: center;
  background-size: 75%;

  opacity: 0.15;
  z-index: -1;
  pointer-events: none;
}

html.accessibility-contrast .accessibility-body::before {
  display: none !important;
}

.accessibility-adjust-group {
  margin-bottom: 20px;
}

.adjust-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.adjust-label {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--color-grey-400);
  font-weight: 500;
  font-size: 14px;
  flex-grow: 1;
}

.adjust-label svg {
  color: var(--color-blue-100);
  width: 18px;
  height: 18px;
}

.adjust-label small {
  background: var(--color-grey-010);
  border: 1px solid var(--color-grey-050);
  padding: 2px 8px;
  font-size: 12px;
  color: var(--color-black);
  margin-left: auto;
  margin-right: 15px;
  min-width: 45px;
  text-align: center;
}

.adjust-btns {
  display: flex;
  gap: 0;
  border: 1px solid var(--color-grey-200);
}

.adjust-btns button {
  width: 36px;
  height: 36px;
  border: none;
  background: var(--color-white);
  cursor: pointer;
  font-weight: 400;
  font-size: 20px;
  color: var(--color-black);
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
}

.adjust-btns button:first-child {
  border-right: 1px solid var(--color-grey-200);
}

.adjust-btns button:hover {
  background: var(--color-blue-100);
  color: var(--color-white);
}

.accessibility-divider {
  border: 0;
  border-top: 1px solid var(--color-grey-050);
  margin: 20px 0;
}

.accessibility-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 10px;
}

.accessibility-grid button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 10px;
  background: var(--color-white);
  border: 1px solid var(--color-grey-200);
  cursor: pointer;
  transition: all 0.3s ease;
  color: var(--color-grey-400);
  font-size: 13px;
  font-weight: 500;
  border-radius: 0;
}

.accessibility-grid button svg {
  width: 26px;
  height: 26px;
  stroke: var(--color-grey-400);
  fill: none;
  transition: all 0.3s ease;
}

.accessibility-grid button:hover {
  border-color: var(--color-blue-100);
  color: var(--color-blue-100);
}

.accessibility-grid button:hover svg {
  stroke: var(--color-blue-100);
}

.accessibility-grid button.active {
  background: var(--color-blue-100);
  border-color: var(--color-blue-100);
  color: var(--color-white);
}

.accessibility-grid button.active svg {
  stroke: var(--color-white);
}

.accessibility-footer .reset-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px;
  background: var(--color-white);
  color: var(--color-error);
  border: 1px solid var(--color-error);
  cursor: pointer;
  font-weight: 500;
  font-size: 14px;
  transition: all 0.3s ease;
  border-radius: 0;
  text-transform: uppercase;
}

.accessibility-footer .reset-btn:hover {
  background: var(--color-error);
  color: var(--color-white);
}

#accessibility-reading-line {
  position: fixed;
  left: 0;
  width: 100%;
  height: 40px;
  background-color: rgba(255, 255, 0, 0.25);
  border-bottom: 4px solid var(--color-red);
  border-top: 2px solid rgba(255, 0, 0, 0.3);
  pointer-events: none;
  z-index: 2147483647;
  display: none;
  transition: top 0.1s ease-out;
}

html.accessibility-contrast #accessibility-reading-line {
  background-color: rgba(255, 255, 255, 0.2) !important;
  border-bottom: 4px solid #ffff00 !important;
  border-top: none !important;
}

html.accessibility-gray {
  filter: grayscale(100%) !important;
}

html.accessibility-contrast {
  filter: contrast(120%);
}

html.accessibility-contrast body,
html.accessibility-contrast
  body
  *:not(#accessibility-widget-container):not(
    #accessibility-widget-container *
  ) {
  background-color: #000000 !important;
  background-image: none !important;
  color: #ffff00 !important;
  border-color: #ffff00 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

html.accessibility-contrast a,
html.accessibility-contrast a *:not(#accessibility-widget-container *) {
  color: #00ffff !important;
  text-decoration: underline !important;
}

html.accessibility-contrast button:not(#accessibility-widget-container button),
html.accessibility-contrast input,
html.accessibility-contrast textarea,
html.accessibility-contrast select {
  background-color: #000000 !important;
  color: #ffff00 !important;
  border: 2px solid #ffff00 !important;
}

html.accessibility-contrast svg:not(#accessibility-widget-container svg) {
  fill: #ffff00 !important;
  stroke: #ffff00 !important;
}

html.accessibility-contrast img,
html.accessibility-contrast video,
html.accessibility-contrast iframe {
  filter: grayscale(100%) contrast(120%) !important;
  background-color: transparent !important;
}

html.accessibility-contrast #accessibility-panel {
  background-color: var(--color-white) !important;
  border-color: var(--color-blue-100) !important;
}

html.accessibility-contrast #accessibility-widget-container h3,
html.accessibility-contrast #accessibility-widget-container span,
html.accessibility-contrast #accessibility-widget-container small {
  color: var(--color-black) !important;
  background-color: transparent !important;
}

html.accessibility-contrast .accessibility-header {
  background-color: var(--color-grey-010) !important;
  border-bottom-color: var(--color-grey-050) !important;
}

html.accessibility-contrast .accessibility-header h3 {
  color: var(--color-blue-200) !important;
}

html.accessibility-contrast .close-x {
  color: var(--color-grey-300) !important;
}

html.accessibility-contrast .accessibility-grid button {
  background-color: var(--color-white) !important;
  color: var(--color-grey-400) !important;
  border-color: var(--color-grey-200) !important;
}

html.accessibility-contrast .accessibility-grid button svg {
  stroke: var(--color-grey-400) !important;
  fill: none !important;
}

html.accessibility-contrast .accessibility-grid button.active {
  background-color: var(--color-blue-100) !important;
  color: var(--color-white) !important;
  border-color: var(--color-blue-100) !important;
}

html.accessibility-contrast .accessibility-grid button.active svg {
  stroke: var(--color-white) !important;
}

html.accessibility-contrast .adjust-label {
  color: var(--color-grey-400) !important;
}

html.accessibility-contrast .adjust-label small {
  background-color: var(--color-grey-010) !important;
  color: var(--color-black) !important;
  border-color: var(--color-grey-050) !important;
}

html.accessibility-contrast .adjust-btns button {
  background-color: var(--color-white) !important;
  color: var(--color-black) !important;
  border-color: var(--color-grey-200) !important;
}

html.accessibility-contrast .reset-btn {
  background-color: var(--color-white) !important;
  color: var(--color-error) !important;
  border-color: var(--color-error) !important;
}

html.accessibility-contrast #accessibility-widget-container svg {
  fill: none !important;
  stroke: currentColor !important;
}

html.accessibility-cursor,
html.accessibility-cursor * {
  cursor: url("data:image/svg+xml;utf8,<svg width='48' height='48' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M20.5056 10.7754C21.1225 10.5355 21.431 10.4155 21.5176 10.2459C21.5926 10.099 21.5903 9.92446 21.5115 9.77954C21.4205 9.61226 21.109 9.50044 20.486 9.2768L4.59629 3.5728C4.0866 3.38983 3.83175 3.29835 3.66514 3.35605C3.52029 3.40621 3.40645 3.52004 3.35629 3.6649C3.29859 3.8315 3.39008 4.08635 3.57304 4.59605L9.277 20.4858C9.50064 21.1088 9.61246 21.4203 9.77973 21.5113C9.92465 21.5901 10.0991 21.5924 10.2461 21.5174C10.4157 21.4308 10.5356 21.1223 10.7756 20.5054L13.3724 13.8278C13.4194 13.707 13.4429 13.6466 13.4792 13.5957C13.5114 13.5506 13.5508 13.5112 13.5959 13.479C13.6468 13.4427 13.7072 13.4192 13.828 13.3722L20.5056 10.7754Z' fill='black' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>"),
    auto !important;
}

html.accessibility-links a {
  text-decoration: underline !important;
  font-weight: bold !important;
  color: var(--color-blue-100) !important;
  background-color: yellow !important;
}

html.accessibility-font body :not(#accessibility-widget-container *) {
  font-family: Arial, Helvetica, sans-serif !important;
}

html.accessibility-no-anim *,
html.accessibility-no-anim *::before,
html.accessibility-no-anim *::after {
  transition: none !important;
  animation: none !important;
  scroll-behavior: auto !important;
}

html.accessibility-no-anim .department-list,
html.accessibility-no-anim .department-list__inner {
  transform: none !important;
  width: 100% !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  overflow: visible !important;
}

html.accessibility-no-anim video {
  display: none !important;
}
