
/* --- FAB e menu --- */
.floating-access {
    position: fixed;
    right: 5px;
    top: 20%;
    transform: translateY(-50%);
    z-index: 9999;
    font-family: Arial, sans-serif;
}
.floating-access-button {
    width: 40px;
    height: 40px;
    border-radius: 5px;
    border: none;
    color: #fff;
    font-weight: bold;
    font-size: 22px;
    cursor: pointer;
}
.floating-access-button:focus { outline: 3px solid rgba(0,123,255,0.25); outline-offset: 2px; }

/* painel */
.floating-access-menu {
  display: none;
  position: absolute; right: 70px; top: 50%;
  transform: translateY(-50%);
  width: 220px; background: #fff; border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.12); padding: 6px;
  border: 1px solid rgba(0,0,0,0.08);
}
.floating-access-menu.open { display: block; }

/* lista */
.floating-access-menu ul { list-style: none; margin: 4px 0; padding: 6px; }
.floating-access-menu li {
  padding: 8px 10px; margin: 4px 0; cursor: pointer; border-radius: 6px;
  transition: background .12s, color .12s;
  color: #222; background: transparent;
}
.floating-access-menu li:hover, .floating-access-menu li:focus {
  background: rgba(0,123,255,0.06); outline: none;
}
.floating-access-menu li[aria-pressed="true"] {
  background: rgba(0,123,255,0.14);
  font-weight: 700;
}

/* modos de acessibilidade (classe aplicada ao <html>) */
html.bw-mode,
html.bw-mode body,
html.bw-mode * {
  background-color: #fff !important;
  color: #000 !important;
  border-color: #000 !important;
  box-shadow: none !important;
  filter: none !important;
}

/* imagens em PB */
html.bw-mode img {
  filter: grayscale(100%) contrast(90%) !important;
}

/* inverter cores (usa filtro global) */
html.invert-mode {
  filter: invert(1) hue-rotate(180deg) !important;
}

/* destacar links */
.highlight-links a {
  background: #ffeb3b;
  color: #000 !important;
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: underline;
  font-weight: 700;
}

/* responsivo */
@media (max-width: 420px) {
  .floating-access-button { width:48px; height:48px; font-size:18px; }
  .floating-access-menu { width: 180px; right: 60px; }
}