/* AJTEL · accesibilidad — panel propio, sin dependencias externas */
.a11y-btn{position:fixed;left:18px;bottom:18px;z-index:9998;width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;background:linear-gradient(135deg,#1a73e8,#34a853);color:#fff;box-shadow:0 6px 20px rgba(11,18,32,.28);display:flex;align-items:center;justify-content:center;transition:transform .2s}
.a11y-btn:hover{transform:scale(1.06)}
.a11y-btn svg{width:28px;height:28px;fill:#fff}
.a11y-panel{position:fixed;left:18px;bottom:82px;z-index:9999;width:min(340px,calc(100vw - 36px));max-height:min(76vh,640px);overflow-y:auto;background:#fff;color:#0b1220;border:1px solid rgba(11,18,32,.14);border-radius:18px;box-shadow:0 24px 60px rgba(11,18,32,.26);padding:1.1rem 1.15rem;font-family:Inter,system-ui,sans-serif;font-size:14px;display:none}
.a11y-panel[data-abierto]{display:block}
.a11y-panel h2{margin:0 0 .2rem;font-size:1.05rem;font-family:'Space Grotesk',Inter,sans-serif}
.a11y-panel .a11y-sub{margin:0 0 .9rem;font-size:.8rem;color:#5b6577}
.a11y-panel h3{margin:1rem 0 .45rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#5b6577;font-weight:700}
.a11y-fila{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}
.a11y-fila.tres{grid-template-columns:repeat(3,1fr)}
.a11y-op{display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:42px;padding:.4rem .5rem;border:1px solid rgba(11,18,32,.16);border-radius:11px;background:#fff;color:#0b1220;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;text-align:center;line-height:1.2}
.a11y-op:hover{border-color:#1a73e8;background:rgba(26,115,232,.07)}
.a11y-op[aria-pressed="true"]{border-color:#1a73e8;background:#1a73e8;color:#fff}
.a11y-medida{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .2rem}
.a11y-medida span{font-size:.82rem;font-weight:600}
.a11y-mas,.a11y-menos{width:34px;height:34px;border-radius:9px;border:1px solid rgba(11,18,32,.16);background:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;line-height:1}
.a11y-mas:hover,.a11y-menos:hover{border-color:#1a73e8;color:#1a73e8}
.a11y-valor{font-family:ui-monospace,monospace;font-size:.78rem;min-width:44px;text-align:center;color:#5b6577}
.a11y-pie{display:flex;gap:.5rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(11,18,32,.1)}
.a11y-reset{flex:1;min-height:40px;border:1px solid rgba(11,18,32,.16);border-radius:11px;background:#fff;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}
.a11y-reset:hover{border-color:#d93025;color:#d93025}
.a11y-cerrar{width:40px;min-height:40px;border:1px solid rgba(11,18,32,.16);border-radius:11px;background:#fff;font-size:1rem;cursor:pointer}
.a11y-nota{margin:.8rem 0 0;font-size:.72rem;line-height:1.5;color:#5b6577}
.a11y-nota a{color:#1a73e8}

/* ---- efectos sobre la pagina ---- */
html[data-a11y-fuente="legible"] body,html[data-a11y-fuente="legible"] body *{font-family:Verdana,Tahoma,'Trebuchet MS',sans-serif!important;letter-spacing:.02em}
html[data-a11y-enlaces="1"] a:not(.a11y-op){text-decoration:underline!important;text-underline-offset:2px;outline:1px dashed currentColor;outline-offset:2px}
html[data-a11y-titulos="1"] h1,html[data-a11y-titulos="1"] h2,html[data-a11y-titulos="1"] h3{background:#fff2a8!important;color:#0b1220!important;padding:.1em .25em;border-radius:4px}
html[data-a11y-anim="0"] *,html[data-a11y-anim="0"] *::before,html[data-a11y-anim="0"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-a11y-cursor="1"],html[data-a11y-cursor="1"] *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M8 4l30 18-13 3-6 13z' fill='%23000' stroke='%23fff' stroke-width='2.5'/%3E%3C/svg%3E") 6 4,auto!important}
html[data-a11y-alinear="1"] p,html[data-a11y-alinear="1"] li,html[data-a11y-alinear="1"] td{text-align:left!important;hyphens:none!important}
html[data-a11y-imagenes="0"] img,html[data-a11y-imagenes="0"] picture,html[data-a11y-imagenes="0"] video{visibility:hidden!important}
html[data-a11y-imagenes="0"] img{position:relative}

/* filtros de color: se aplican al contenido, no al panel */
html[data-a11y-filtro="contraste"] body{filter:contrast(1.45)}
html[data-a11y-filtro="invertir"] body{filter:invert(1) hue-rotate(180deg)}
html[data-a11y-filtro="gris"] body{filter:grayscale(1)}
html[data-a11y-filtro="saturacion"] body{filter:saturate(1.7)}
html[data-a11y-filtro="protanopia"] body{filter:url(#a11y-protanopia)}
html[data-a11y-filtro="deuteranopia"] body{filter:url(#a11y-deuteranopia)}
html[data-a11y-filtro="tritanopia"] body{filter:url(#a11y-tritanopia)}
html[data-a11y-filtro] .a11y-panel,html[data-a11y-filtro] .a11y-btn{filter:none}

/* guia y mascara de lectura */
.a11y-guia{position:fixed;left:0;right:0;height:0;border-top:3px solid #1a73e8;box-shadow:0 0 0 1px rgba(255,255,255,.85);z-index:9997;pointer-events:none;display:none}
.a11y-mascara-arriba,.a11y-mascara-abajo{position:fixed;left:0;right:0;background:rgba(11,18,32,.72);z-index:9996;pointer-events:none;display:none}
html[data-a11y-guia="1"] .a11y-guia{display:block}
html[data-a11y-mascara="1"] .a11y-mascara-arriba,html[data-a11y-mascara="1"] .a11y-mascara-abajo{display:block}

.a11y-svg{position:absolute;width:0;height:0;overflow:hidden}
@media print{.a11y-btn,.a11y-panel,.a11y-guia,.a11y-mascara-arriba,.a11y-mascara-abajo{display:none!important}}
@media (max-width:560px){.a11y-btn{width:46px;height:46px;left:12px;bottom:12px}.a11y-panel{left:12px;right:12px;width:auto;bottom:68px}}
