/* ── Widget de accesibilidad (botón flotante + panel) ─────────────────── */
.a11y-fab{position:fixed;left:18px;bottom:18px;z-index:1060;width:54px;height:54px;border-radius:50%;border:none;background:#0b5ed7;color:#fff;font-size:1.45rem;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.3);cursor:pointer;transition:transform .15s ease}
.a11y-fab:hover{transform:scale(1.08)}
.a11y-fab:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
.a11y-panel{position:fixed;left:18px;bottom:84px;z-index:1061;width:320px;max-width:calc(100vw - 36px);max-height:min(72vh,560px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.35);display:none;font-family:Inter,'Segoe UI',sans-serif}
.a11y-panel.open{display:block}
.a11y-panel__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:#0b5ed7;color:#fff;padding:.8rem 1rem;position:sticky;top:0;z-index:1}
.a11y-panel__head h2{font-size:1rem;margin:0;font-weight:700}
.a11y-panel__head button{background:rgba(255,255,255,.18);border:none;color:#fff;border-radius:8px;padding:.25rem .6rem;cursor:pointer}
.a11y-panel__body{padding: .9rem 1rem 1.1rem}
.a11y-group{margin-bottom:1rem}
.a11y-group h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;font-weight:700;margin:0 0 .5rem}
.a11y-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.a11y-opt{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .3rem;border:1.5px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;font-size:.68rem;font-weight:600;color:#334155;text-align:center;transition:all .15s ease;min-height:64px;justify-content:center}
.a11y-opt i{font-size:1.05rem;color:#0b5ed7}
.a11y-opt:hover{border-color:#0b5ed7}
.a11y-opt.active{background:#0b5ed7;border-color:#0b5ed7;color:#fff}
.a11y-opt.active i{color:#fff}
.a11y-opt:focus-visible{outline:3px solid #ffbf47;outline-offset:1px}
.a11y-font-row{display:flex;align-items:center;gap:.5rem}
.a11y-font-row button{flex:0 0 auto;width:42px;height:38px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff;font-weight:700;cursor:pointer;color:#334155}
.a11y-font-row button:hover{border-color:#0b5ed7}
.a11y-font-row .a11y-font-val{flex:1;text-align:center;font-weight:700;color:#334155}
.a11y-reset{width:100%;padding:.55rem;border-radius:10px;border:1.5px solid #dc3545;background:#fff;color:#dc3545;font-weight:700;cursor:pointer}
.a11y-reset:hover{background:#dc3545;color:#fff}
.a11y-note{font-size:.7rem;color:#6b7280;margin:.6rem 0 0}

/* ── Efectos aplicados al documento ───────────────────────────────────── */
html.a11y-grayscale{filter:grayscale(1)}
html.a11y-saturate{filter:saturate(2.2)}
html.a11y-invert{filter:invert(1) hue-rotate(180deg)}
html.a11y-invert img,html.a11y-invert video,html.a11y-invert iframe,html.a11y-invert svg image{filter:invert(1) hue-rotate(180deg)}
html.a11y-contrast{filter:contrast(1.35)}
html.a11y-links a{text-decoration:underline !important;background:#fff8c4 !important;color:#0a3d91 !important;font-weight:700 !important}
html.a11y-font body,html.a11y-font body *{font-family:Verdana,Arial,sans-serif !important;letter-spacing:.02em !important;word-spacing:.08em !important}
html.a11y-noanim *,html.a11y-noanim *::before,html.a11y-noanim *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'><path d='M4 2l16 11h-7l4 7-3 2-4-7-6 5z' fill='black' stroke='white' stroke-width='1.5'/></svg>") 4 2,auto !important}
.a11y-guide-bar{position:fixed;left:0;right:0;height:12px;background:rgba(255,193,7,.35);border-top:2px solid #ff9800;border-bottom:2px solid #ff9800;z-index:2147483646;pointer-events:none;display:none}
html.a11y-guide .a11y-guide-bar{display:block}
html.a11y-reading-click .a11y-readable-hover{outline:3px dashed #0b5ed7 !important;outline-offset:2px;cursor:pointer !important}
