.open-accessibility-container {
  position: fixed;
  bottom: 36px;
  left: 34px;
  z-index: 1000;
}

.open-accessibility-menu {
  background: #f7f7f7;
  border-radius: 12px;
  box-shadow: 4px 4px 18px 5px rgba(0, 0, 0, 0.15);
  padding: 9px;
  width: 258px;
  display: none;
  flex-wrap: wrap;
  gap: 9px;
}

.open-accessibility-menu-button {
  width: 48%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  font-size: 16px;
  line-height: 18px;
  padding: 8px;
  border-radius: 8px;
  color: #1c1f7d;
  cursor: pointer;
}

.open-accessibility-menu-button svg {
  width: 125px;
  height: 72px;
  fill: #1c1f7d;
  margin-bottom: -15px;
}

.open-accessibility-close-button {
  text-align: right;
  margin-bottom: 10px;
  cursor: pointer;
}

.open-accessibility-close-button svg {
  width: 20px;
  height: 20px;
}

/* Oculta el cursor predeterminado cuando se activa el cursor grande */

.big-cursor-enabled {
  cursor: none;
}

.big-cursor {
  position: fixed;
  width: 105px;
  height: 105px;
  background-color: rgba( 35, 31, 116, 0.8 );
  border: 2px solid white;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
}

.btn-convert {
  background-color: #231f74;
}

.accessibility-toggle {
  width: 50px;
  height: 50px;
  border-radius: 44px;
  background: linear-gradient(45deg, hsla(262, 98%, 41%, 1) 0%, hsla(262, 98%, 41%, 0) 70%), linear-gradient(135deg, #4d005e 10%, hsla(304, 98%, 50%, 0) 80%), linear-gradient(225deg, #4d005e 10%, hsla(274, 97%, 41%, 0) 80%), linear-gradient(315deg, hsla(261, 92%, 41%, 1) 100%, hsla(261, 92%, 41%, 0) 70%);
  border: none;
  color: #2a2841;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.accessibility-widget {
  position: fixed;
  bottom: 30px;
  left: 30px;
  z-index: 20;
}

.accessibility-toggle:hover {
  background: #3a36a0;
  transform: scale(1.05);
}

.accessibility-menu.show {
  display: flex;
}

.accessibility-option {
  padding: 10px;
  font-weight: 600;
  line-height: 17px;
  justify-content: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: -10px;
  border-radius: 4px;
  transition: background 0.2s;
  flex-wrap: wrap;
}

.holvel {
  padding-top: 54px;
}

.accessibility-option svg {
  fill: #454360;
  margin-top: -65px;
  position: absolute;
  font-weight: 900;
  width: 184px !important;
  padding: 37px;
}

/* Estilos para las modificaciones de accesibilidad */

body.accessibility-zoom main {
  transform-origin: top left;
  width: 100%;
  min-height: 100vh;
}

body.accessibility-invert {
  filter: invert(1);
}

body.accessibility-contrast {
  filter: contrast(150%);
}

body.accessibility-grayscale {
  filter: grayscale(100%);
}

body.accessibility-big-cursor * {
  cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><circle cx="16" cy="16" r="16" fill="black"/></svg>') 16 16, pointer !important;
}

#accessibility-menu {
  flex-direction: row !important;
  position: fixed;
  z-index: 1100;
  display: none;
  bottom: 98px;
  left: 44px;
  background: white;
  border-radius: 21px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  padding: 8px;
  padding-top: 23px;
  padding-bottom: 11px;
  width: 281px;
  flex-wrap: wrap;
  flex-direction: column;
}

#accessibility-menu.show {
  display: block;
}

@media only screen and (max-width: 991px) {
  .accessibility-widget {
    bottom: 83px;
  }
}

@media only screen and (max-width: 991px) {
  #accessibility-menu {
    bottom: 150px;
    left: 31px;
  }
}

html, body, #page-wrapper {
  margin: 0;
  padding: 0;
  height: 100%;
  overflow: auto;
}

#page-wrapper {
  transform-origin: top left;
  width: 100%;
  height: 100%;
}

.accessibility-option:hover {
  background: #f0f0f0;
  padding-top: 54px;
  border-radius: 15px;
}

#accessibility-menuli:focus, #accessibility-menuli:active {
  flex-direction: row !important;
  position: fixed;
  z-index: 1100;
  display: none;
  bottom: 98px !important;
  left: 44px !important;
  background: white;
  border-radius: 21px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  padding: 8px;
  padding-top: 23px;
  padding-bottom: 11px;
  width: 281px;
  flex-wrap: wrap;
  flex-direction: column;
}

#accessibility-menu:hover {
  bottom: 98px !important;
  left: 44px !important;
}

#accessibility-menu .accessibility-option {
  box-sizing: border-box;
}

#accessibility-menu .accessibility-option:focus, #accessibility-menu .accessibility-option:active {
  outline: none;
  box-shadow: none;
  border: none;
}

