/* Evo Compliance — accessibility widget + state classes */
#evoa11y { position: fixed; bottom: 20px; z-index: 2147483600; font-family: inherit; }
#evoa11y.evoa11y-right { right: 20px; }
#evoa11y.evoa11y-left { left: 20px; }
#evoa11y-toggle {
  width: 52px; height: 52px; border-radius: 50%; border: 0; cursor: pointer;
  background: #1f6feb; color: #fff; font-size: 26px; line-height: 52px;
  box-shadow: 0 2px 10px rgba(0,0,0,.3);
}
#evoa11y-toggle:focus { outline: 3px solid #ffbf47; outline-offset: 2px; }
.evoa11y-srlabel { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
#evoa11y-panel {
  position: absolute; bottom: 64px; width: 280px; max-width: 80vw;
  background: #fff; color: #111; border: 1px solid #ccc; border-radius: 10px;
  padding: 12px; box-shadow: 0 4px 20px rgba(0,0,0,.25);
}
#evoa11y.evoa11y-right #evoa11y-panel { right: 0; }
#evoa11y.evoa11y-left #evoa11y-panel { left: 0; }
.evoa11y-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.evoa11y-tool {
  border: 1px solid #d0d7de; background: #f6f8fa; color: #111; border-radius: 8px;
  padding: 10px 8px; font-size: 13px; cursor: pointer; text-align: center;
}
.evoa11y-tool:hover { background: #eaeef2; }
.evoa11y-tool:focus { outline: 3px solid #1f6feb; outline-offset: 1px; }
.evoa11y-tool[aria-pressed="true"] { background: #1f6feb; color: #fff; border-color: #1f6feb; }

/* ---- accessibility state classes applied to <html> ---- */
html.evoa11y-contrast body { background: #000 !important; color: #fff !important; }
html.evoa11y-contrast a { color: #ffff00 !important; }
html.evoa11y-invert { filter: invert(100%) hue-rotate(180deg); }
html.evoa11y-invert #evoa11y { filter: invert(100%) hue-rotate(180deg); }
html.evoa11y-grayscale { filter: grayscale(100%); }
html.evoa11y-grayscale #evoa11y { filter: grayscale(0%); }
html.evoa11y-readable body, html.evoa11y-readable body * {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
  letter-spacing: .03em !important; line-height: 1.7 !important;
}
html.evoa11y-underline a { text-decoration: underline !important; }
html.evoa11y-big-cursor, html.evoa11y-big-cursor * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' stroke='%23fff' stroke-width='1' d='M4 2l16 8-7 2-2 7z'/%3E%3C/svg%3E"), auto !important;
}
#evoa11y-reading-guide {
  position: fixed; left: 0; right: 0; height: 40px; pointer-events: none;
  background: rgba(31,111,235,.18); border-top: 2px solid #1f6feb; border-bottom: 2px solid #1f6feb;
  z-index: 2147483599; display: none;
}
html.evoa11y-reading-guide #evoa11y-reading-guide { display: block; }
