/* Accesibilidad · Mikel Trainer
   Se carga en TODAS las páginas, también en el área de clientas y en las
   legales, así que no depende de las variables de ningún otro css: las suyas
   las lleva aquí. Va junto a js/accesibilidad.js.

   Lo que hace, que es lo que Mikel prometió:
     · tamaño del texto: normal / grande / muy grande
     · lectura en voz alta desde el propio móvil, sin instalar nada
     · fondo blanco con buen contraste (la web de clientas es oscura)
     · subrayar los enlaces
*/

/* ── Tamaño del texto ─────────────────────────────────────────
   El zoom va en cada hijo de <body>, NO en <body>: si se pone en <body>,
   los botones flotantes (que son position:fixed) se descolocan del sitio
   donde se pulsa y dejan de funcionar. Así el contenido crece y los dos
   botones flotantes se quedan donde están. */
html.acc-zoom body > *:not(.acc-flot):not(.acc-panel):not(.ia-flot):not(.ia-caja):not(.cart):not(.cart-velo):not(.cart-btn):not(script):not(style){
  zoom:var(--acc-zoom,1)}
html.acc-zoom{overflow-x:hidden}
/* con la letra grande, las rejillas de varias columnas se ponen en una sola */
html.acc-zoom .foot,html.acc-zoom .svc-grid,html.acc-zoom .progs,html.acc-zoom .grid-2,
html.acc-zoom .grid-3{grid-template-columns:1fr!important}
html.acc-zoom .legal{flex-direction:column}
html.acc-zoom body *{min-width:0;overflow-wrap:anywhere}
/* el propio panel crece un poco, pero con tope: si no, se sale de la pantalla */
html.acc-zoom .acc-panel{font-size:calc(15px * min(var(--acc-zoom,1), 1.2))}
html.acc-zoom .ia-caja{font-size:calc(15px * min(var(--acc-zoom,1), 1.2))}

/* ── Fondo blanco y más contraste ─────────────────────────── */
html.acc-contraste{
  /* web pública */
  --ink:#101112; --muted:#2a2c2e; --line:#767676; --white:#fff; --dark:#101112;
  /* área de clientas (es oscura por defecto) */
  --bg:#fff; --bg2:#fff; --bg3:#f2f2f2; --bg4:#e8e8e8; --glass:rgba(255,255,255,.96);
  --veil:rgba(255,255,255,.7); --inv:#fff; --txt:#101112; --txt2:#2a2c2e;
  --muted2:#3d4043; --line2:#767676;
  background:#fff;
}
html.acc-contraste body{background:#fff!important;color:#101112!important}
html.acc-contraste .band,html.acc-contraste .hero,html.acc-contraste .contact,
html.acc-contraste [class*="hero"],html.acc-contraste [style*="background-image"]{
  background-image:none!important;background:#fff!important;color:#101112!important}
html.acc-contraste .band::before,html.acc-contraste .hero::before,
html.acc-contraste .contact::before{background:none!important;opacity:0!important;display:none!important}
html.acc-contraste .band *,html.acc-contraste .hero *,html.acc-contraste .contact *{
  color:#101112!important;text-shadow:none!important}
html.acc-contraste h1,html.acc-contraste h2,html.acc-contraste h3,
html.acc-contraste h4,html.acc-contraste b,html.acc-contraste strong{color:#101112!important}
html.acc-contraste p,html.acc-contraste li,html.acc-contraste td,html.acc-contraste span,
html.acc-contraste label,html.acc-contraste small,html.acc-contraste .muted{color:#2a2c2e!important}
html.acc-contraste a:not(.btn):not([class*="btn-"]){color:#8c0f3c!important}
html.acc-contraste input,html.acc-contraste select,html.acc-contraste textarea{
  background:#fff!important;color:#101112!important;border:2px solid #767676!important}
html.acc-contraste .btn,html.acc-contraste .btn-dark,html.acc-contraste .btn-primary{
  background:#101112!important;color:#fff!important;border:2px solid #101112!important}
html.acc-contraste .btn-ghost,html.acc-contraste .btn-g,html.acc-contraste .btn-sec{
  background:#fff!important;color:#101112!important;border:2px solid #101112!important}
html.acc-contraste .card,html.acc-contraste .box,html.acc-contraste .prog,
html.acc-contraste .tile,html.acc-contraste .panel{background:#fff!important;border:1px solid #767676!important}
html.acc-contraste :focus-visible{outline:3px solid #8c0f3c!important;outline-offset:2px}
html.acc-enlaces a{text-decoration:underline!important;text-underline-offset:2px}

/* ── Botón y panel (colores propios, no heredan de la página) ── */
.acc-flot{position:fixed;left:16px;bottom:16px;z-index:70;width:52px;height:52px;border:0;border-radius:50%;
  background:#0d5c8a;cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.28);
  padding:0;margin:0}
.acc-flot:hover{background:#09486c}
.acc-flot svg{width:28px;height:28px;fill:#fff}
.acc-panel{position:fixed;left:16px;bottom:78px;z-index:71;width:min(312px,calc(100vw - 32px));
  max-height:calc(100vh - 96px);overflow-y:auto;background:#fff;color:#101112;border:1px solid #d9d9d9;
  border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.26);padding:0 14px 14px;font-size:15px;
  font-family:system-ui,-apple-system,'Segoe UI',sans-serif;text-align:left}
.acc-panel[hidden]{display:none}
.acc-top{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;
  padding:13px 0 11px;margin-bottom:4px;background:#fff;border-bottom:1px solid #e3e3e3}
.acc-top b{font:600 1.07em inherit;color:#101112}
.acc-x{width:2.2em;height:2.2em;border:0;border-radius:50%;background:transparent;font-size:1.45em;line-height:1;
  cursor:pointer;color:#101112;padding:0}
.acc-x:hover{background:#f0f0f0}
.acc-grupo{margin-top:13px}
.acc-tit{display:block;font:600 .84em inherit;letter-spacing:.04em;text-transform:uppercase;
  color:#5b5e62;margin-bottom:7px}
.acc-fila{display:flex;gap:7px}
.acc-fila button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:11px 4px;
  border:2px solid #d9d9d9;border-radius:11px;background:#fff;color:#101112;cursor:pointer;
  font:500 .78em inherit;line-height:1.2}
.acc-fila button span{font-family:Georgia,serif;line-height:1}
.acc-ancho{display:block;width:100%;margin-top:7px;padding:12px 13px;text-align:left;border:2px solid #d9d9d9;
  border-radius:11px;background:#fff;color:#101112;cursor:pointer;font:500 .94em inherit}
.acc-fila button:hover,.acc-ancho:hover{border-color:#101112}
.acc-fila button.acc-on,.acc-ancho.acc-on{border-color:#0d5c8a;background:#eaf4fa;color:#09486c;font-weight:600}
.acc-nota{margin:6px 0 0;font-size:.8em;color:#5b5e62;line-height:1.45}
.acc-reset{display:block;width:100%;margin-top:14px;padding:10px;border:0;border-radius:11px;background:#f3f3f3;
  color:#101112;cursor:pointer;font:500 .9em inherit}
.acc-reset:hover{background:#e8e8e8}
.acc-flot:focus-visible,.acc-panel button:focus-visible{outline:3px solid #0d5c8a;outline-offset:2px}
@media(max-width:480px){
  .acc-flot{left:10px;bottom:10px;width:48px;height:48px}
  .acc-panel{left:8px;right:8px;width:auto;bottom:66px}
}
@media print{.acc-flot,.acc-panel{display:none!important}}
