/* COMPARTIDO: botón y panel de accesibilidad de Aureon (fuente: aureon/compartido/a11y.css; se copia con herramientas/sincronizar.mjs).
   Los cambios se aplican con clases en <html> (ver a11y.js) y respetan los colores de la marca. */
@font-face{font-family:"OpenDyslexic";src:url(../fonts/opendyslexic-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"OpenDyslexic";src:url(../fonts/opendyslexic-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

/* ---- Botón flotante ---- */
.a11y-b{position:fixed;left:16px;bottom:16px;z-index:75;display:grid;place-items:center;width:56px;height:56px;padding:0;border:2px solid var(--lime,var(--acc,#c9f23d));border-radius:50%;background:#14141b;color:var(--lime,var(--acc,#c9f23d));cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .2s}
.a11y-b:hover{transform:scale(1.06)}
.a11y-b svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.a11y-b:focus-visible,.a11y-p button:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* ---- Panel ---- */
.a11y-p{position:fixed;left:16px;bottom:84px;z-index:76;width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 110px);overflow:auto;padding:1.1rem 1.1rem 1.2rem;border:1px solid rgba(255,255,255,.2);border-radius:24px;background:#14141b;color:#f3f1ea;font:400 16px/1.4 "Geist",system-ui,sans-serif;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.a11y-p[hidden]{display:none}
.a11y-p h2{margin:0;font:700 1.25rem/1.1 var(--disp,"Bricolage","Geist",sans-serif);letter-spacing:-.02em;color:#f3f1ea}
.a11y-h{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.9rem}
.a11y-x{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:transparent;color:#f3f1ea;cursor:pointer;font-size:1.1rem;line-height:1}
.a11y-g{margin:0 0 1rem;padding:0;border:0}
.a11y-g legend{margin:0 0 .5rem;padding:0;font:800 .72rem/1 "Geist Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:#a4a4b3}
.a11y-r{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}
.a11y-p button.o,.a11y-p button.s{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:.5rem .7rem;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.05);color:#f3f1ea;font-weight:600;font-size:.9375rem;line-height:1.2;font-family:inherit;cursor:pointer;text-align:left}
.a11y-p button.o{justify-content:center;text-align:center}
.a11y-p button.o[aria-pressed=true]{background:var(--lime,var(--acc,#c9f23d));border-color:var(--lime,var(--acc,#c9f23d));color:#0c0c11}
.a11y-p button.s{width:100%;justify-content:space-between;margin-bottom:.4rem}
.a11y-p button.s::after{content:"";flex:none;width:44px;height:26px;border-radius:99px;background:#3a3a46;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);background-image:radial-gradient(circle at 13px 13px,#fff 9px,transparent 10px);background-repeat:no-repeat;transition:background-color .2s}
.a11y-p button.s[aria-checked=true]::after{background-color:var(--lime,var(--acc,#c9f23d));background-image:radial-gradient(circle at 31px 13px,#0c0c11 9px,transparent 10px)}
.a11y-col{display:grid;gap:.4rem}
.a11y-col button.o{justify-content:flex-start;text-align:left}
.a11y-sw{flex:none;display:inline-flex;gap:3px}.a11y-sw i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.3)}
.a11y-reset{width:100%;min-height:46px;border:1px solid rgba(255,255,255,.3);border-radius:14px;background:transparent;color:#f3f1ea;font-weight:600;font-size:.9375rem;font-family:inherit;cursor:pointer}
.a11y-reset:hover{background:rgba(255,255,255,.08)}
@media (max-width:640px){.a11y-b{left:12px;bottom:12px;width:52px;height:52px}.a11y-p{left:12px;bottom:76px}.a11y-r{grid-template-columns:1fr 1fr}}

/* ---- Tamaño del texto ---- */
html.a11y-fs1{font-size:112.5%}html.a11y-fs2{font-size:125%}html.a11y-fs3{font-size:150%}

/* ---- Letra para dislexia y espaciado ---- */
html.a11y-dys body,html.a11y-dys body *:not(svg):not(svg *){font-family:"OpenDyslexic","Comic Sans MS","Trebuchet MS",sans-serif!important;letter-spacing:0!important;font-style:normal!important}
html.a11y-dys h1,html.a11y-dys h2,html.a11y-dys h3{line-height:1.2!important}
html.a11y-space body *:not(svg):not(svg *){line-height:1.9!important;letter-spacing:.05em!important;word-spacing:.18em!important}
html.a11y-space h1,html.a11y-space h2,html.a11y-space h3{line-height:1.3!important}

/* ---- Daltonismo: se cambian los colores de acento, no la estructura ---- */
html.a11y-color-rg{--lime:#ffc400;--lime-d:#d9a300;--vio:#2f8cff;--vio-d:#1457c2;--ok:#0072b2;--err:#d55e00}
html.a11y-color-by{--lime:#ff7a59;--lime-d:#e0603f;--vio:#18b7c9;--vio-d:#0a6f7b;--acc:#e4572e;--acc-ink:#9b2c12;--ok:#00798c;--err:#b5179e}
html.a11y-color-rg .btn:hover{background:#ffd633}
html.a11y-color-by .btn:hover{background:#ff9378}

/* ---- Alto contraste ---- */
:root.a11y-contrast,:root.a11y-contrast[data-theme]{--ink:#000;--ink-2:#000;--ink-3:#0b0b0b;--ink-line:rgba(255,255,255,.65);--paper:#fff;--paper-2:#efefef;--paper-line:rgba(0,0,0,.7);--on-dark:#fff;--mute-dark:#fff;--mute-light:#111;
  --bg:#fff;--bg2:#f0f0f0;--card:#fff;--plate:#f0f0f0;--mute:#111;--line:#000;--dot:rgba(0,0,0,0);--ghost:#f0f0f0;--acc-ink:#6b3600}
html.a11y-contrast .lead,html.a11y-contrast p,html.a11y-contrast li,html.a11y-contrast small{color:inherit}
html.a11y-contrast .btn,html.a11y-contrast button,html.a11y-contrast .opt,html.a11y-contrast .pc,html.a11y-contrast .rd{border-width:2px!important}

/* ---- Sin animaciones ---- */
html.a11y-nomotion *,html.a11y-nomotion *::before,html.a11y-nomotion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-nomotion .rv{opacity:1!important;transform:none!important}
html.a11y-nomotion .rot span:first-child{opacity:1!important;transform:none!important}

/* ---- Enlaces subrayados y botones marcados ---- */
html.a11y-links a:not(.btn):not(.hd-cart):not(.logo):not(.a11y-b){text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:2px}
html.a11y-links .btn,html.a11y-links .hd-cart,html.a11y-links .ibtn,html.a11y-links .wadd{outline:2px solid currentColor;outline-offset:2px}
