/* ===== AISLAMIENTO TOTAL DEL WIDGET ===== */
#accesibilidad-root{
  all: initial;
}

/* BOTON FLOTANTE */
#accesibilidad-btn{
  position:fixed;
  right:20px;
  top:20px;
  bottom:auto;
  z-index:2147483647;
  width:42px;
  height:42px;
  border-radius:50%;
  border:none;
  background:linear-gradient(135deg,#005bbb,#0099ff);
  color:#fff;
  font-size:28px;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.35);
  transition:.3s;
}
#accesibilidad-btn:hover{
  transform:scale(1.15) rotate(8deg);
}

/* PANEL */
#accesibilidad-panel{
  position:fixed;
  right:20px;
  top:95px;
  bottom:auto;
  width:270px;
  background:#ffffff;
  border-radius:14px;
  padding:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  font-family:Arial, Helvetica, sans-serif;
  z-index:2147483647;
  opacity:0;
  transform:translateY(20px);
  pointer-events:none;
  transition:.35s;
}
#accesibilidad-panel.show{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

#accesibilidad-panel h3{
  margin:0 0 10px 0;
  font-size:18px;
}

.acc-btn{
  width:100%;
  margin:6px 0;
  padding:9px;
  border:none;
  border-radius:7px;
  background:#f2f2f2;
  cursor:pointer;
  transition:.25s;
}
.acc-btn:hover{ background:#e2e2e2; }

.acc-btn.active{
  background:#005bbb;
  color:#fff;
}

/* ===== EFECTOS WCAG REALES ===== */

.acc-grayscale{ filter:grayscale(100%) !important; }
.acc-contrast{ filter:contrast(140%) !important; }
.acc-negative{ filter:invert(100%) hue-rotate(180deg) !important; }

/* SUBRAYAR LINKS */
.acc-links a{
  text-decoration: underline !important;
  font-weight:600 !important;
}

/* FUENTE LEGIBLE */
.acc-readable *{
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing:.5px !important;
}

/* OCULTAR IMAGENES */
.acc-hideimg img{
  visibility:hidden !important;
}

/* TEXTO GRANDE */
.acc-text-big{ font-size:120% !important; }
.acc-text-bigger{ font-size:140% !important; }

/* MODO DISLEXIA */
.acc-dyslexia *{
  font-family: 'OpenDyslexic', Arial, sans-serif !important;
  letter-spacing: .8px !important;
  line-height: 1.6 !important;
}

/* PERFIL ADULTO MAYOR */
.acc-senior *{
  font-size:120% !important;
  line-height:1.7 !important;
  letter-spacing:.6px !important;
}

.acc-senior a{
  text-decoration: underline !important;
  font-weight:bold !important;
}

.acc-senior{
  filter:contrast(125%);
  cursor: url('https://cur.cursors-4u.net/cursors/cur-2/cur116.cur'), auto;
}

/* ===== BOTONES CON ICONOS ===== */
.acc-btn{
  display:flex;
  align-items:center;
  gap:8px;
  justify-content:flex-start;
  font-size:14px;
}

/* iconos */
.acc-btn .material-symbols-outlined{
  font-size:20px;
  transition:.25s;
}

/* ANIMACION HOVER */
.acc-btn:hover{
  transform:translateX(5px);
}

.acc-btn:hover .material-symbols-outlined{
  transform:scale(1.25) rotate(-10deg);
}

/* estado activo */
.acc-btn.active .material-symbols-outlined{
  animation:accPulse .8s infinite alternate;
}

@keyframes accPulse{
  from{ transform:scale(1); }
  to{ transform:scale(1.2); }
}
