/* ESL · Accesibilidad — barra ligera. Azul #0d2d5e · cyan #00b4d8
   Nota: en este sitio esl-web.css carga DESPUES que esta hoja y redefine
   button, h2 y tipografia general. Por eso todo va prefijado con .esl-a11y. */
.esl-a11y{position:fixed;left:18px;bottom:18px;z-index:99990;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.4}
.esl-a11y *{box-sizing:border-box;font-family:inherit}
.esl-a11y .esl-a11y-fab{width:52px;height:52px;border-radius:50%;border:0;background:#0d2d5e;color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;
  box-shadow:0 4px 18px rgba(13,45,94,.34);transition:transform .15s ease,background .15s ease}
.esl-a11y .esl-a11y-fab:hover{background:#00b4d8;transform:scale(1.06)}
.esl-a11y .esl-a11y-fab:focus-visible{outline:3px solid #00b4d8;outline-offset:3px}
.esl-a11y .esl-a11y-panel{position:absolute;left:0;bottom:62px;width:290px;max-width:calc(100vw - 36px);
  background:#fff;border:1px solid #d7e0ea;border-radius:14px;
  box-shadow:0 10px 40px rgba(13,45,94,.22);padding:16px}
.esl-a11y .esl-a11y-panel[hidden]{display:none}
.esl-a11y .esl-a11y-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 4px}
.esl-a11y .esl-a11y-ttl{margin:0;font-size:16px;line-height:1.2;font-weight:700;color:#0d2d5e;letter-spacing:0;text-transform:none}
.esl-a11y .esl-a11y-x{border:0;background:none;font-size:24px;line-height:1;color:#5f6b7a;cursor:pointer;padding:0 2px;width:auto;height:auto}
.esl-a11y .esl-a11y-x:hover{color:#0d2d5e}
.esl-a11y .esl-a11y-intro{margin:0 0 12px;font-size:12px;line-height:1.45;color:#5f6b7a}
.esl-a11y .esl-a11y-grp{border:0;margin:0 0 12px;padding:0;min-inline-size:0}
.esl-a11y .esl-a11y-grp legend{padding:0;margin:0 0 6px;font-size:11px;line-height:1.3;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;color:#0d2d5e;float:none;width:auto}
.esl-a11y .esl-a11y-seg{display:flex;gap:6px}
.esl-a11y .esl-a11y-seg button{flex:1;padding:8px 4px;font-size:12px;line-height:1.2;font-weight:600;
  color:#0d2d5e;background:#f2f6fa;border:1px solid #d7e0ea;border-radius:8px;cursor:pointer;
  letter-spacing:0;text-transform:none;width:auto;height:auto}
.esl-a11y .esl-a11y-seg button[aria-pressed="true"]{background:#0d2d5e;border-color:#0d2d5e;color:#fff}
.esl-a11y .esl-a11y-opts{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}
.esl-a11y .esl-a11y-opts li{margin:0;padding:0;list-style:none}
.esl-a11y .esl-a11y-opts button{width:100%;display:flex;align-items:center;justify-content:space-between;
  gap:10px;padding:10px 12px;font-size:13.5px;line-height:1.3;font-weight:600;color:#0d2d5e;background:#f2f6fa;
  border:1px solid #d7e0ea;border-radius:8px;cursor:pointer;text-align:left;letter-spacing:0;text-transform:none;height:auto}
.esl-a11y .esl-a11y-opts button i{width:34px;height:19px;border-radius:19px;background:#c9d6e4;position:relative;
  flex:none;transition:background .15s ease;font-style:normal}
.esl-a11y .esl-a11y-opts button i::after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;
  border-radius:50%;background:#fff;transition:transform .15s ease}
.esl-a11y .esl-a11y-opts button[aria-pressed="true"] i{background:#00b4d8}
.esl-a11y .esl-a11y-opts button[aria-pressed="true"] i::after{transform:translateX(15px)}
.esl-a11y .esl-a11y-reset{width:100%;padding:9px;font-size:12.5px;line-height:1.2;font-weight:700;color:#5f6b7a;
  background:none;border:1px solid #d7e0ea;border-radius:8px;cursor:pointer;letter-spacing:0;text-transform:none;height:auto}
.esl-a11y .esl-a11y-reset:hover{color:#0d2d5e;border-color:#00b4d8}
.esl-a11y .esl-a11y-x:focus-visible,.esl-a11y .esl-a11y-reset:focus-visible,
.esl-a11y .esl-a11y-seg button:focus-visible,.esl-a11y .esl-a11y-opts button:focus-visible{
  outline:3px solid #00b4d8;outline-offset:2px}
@media(max-width:480px){.esl-a11y{left:12px;bottom:12px}}

/* ---------- ajustes que aplica el usuario ---------- */
/* El tamano de texto NO se puede cambiar con font-size en :root: la tipografia
   de este sitio esta en pixeles y no hereda. Lo escala el JS midiendo cada
   elemento. Estas clases solo marcan el estado. */
html.esl-a11y-size-1,html.esl-a11y-size-2{}

html.esl-a11y-links a:not(.esl-a11y-fab):not(.esl-a11y-x){text-decoration:underline !important;text-underline-offset:2px}
html.esl-a11y-links a:focus-visible{outline:3px solid #00b4d8 !important;outline-offset:2px}

html.esl-a11y-motion *,html.esl-a11y-motion *::before,html.esl-a11y-motion *::after{
  animation-duration:.001ms !important;animation-iteration-count:1 !important;
  transition-duration:.001ms !important;scroll-behavior:auto !important}
html.esl-a11y-motion video{display:none}

html.esl-a11y-contrast{background:#000}
html.esl-a11y-contrast body,html.esl-a11y-contrast body *:not(.esl-a11y):not(.esl-a11y *){
  background-color:#000 !important;color:#fff !important;border-color:#fff !important;text-shadow:none !important;box-shadow:none !important}
html.esl-a11y-contrast a:not(.esl-a11y-fab){color:#ffe14d !important;text-decoration:underline !important}
html.esl-a11y-contrast img,html.esl-a11y-contrast video{filter:grayscale(.35) contrast(1.15)}
html.esl-a11y-contrast svg{fill:currentColor}
html.esl-a11y-contrast .esl-a11y .esl-a11y-fab{background:#ffe14d !important;color:#000 !important}

/* ---------- foco visible en todo el sitio ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #00b4d8;outline-offset:2px}

/* ---------- enlace de salto ---------- */
.esl-a11y-skip{position:absolute;left:-9999px;top:0;z-index:100000;padding:12px 18px;background:#0d2d5e;color:#fff;
  font-weight:700;border-radius:0 0 8px 0;text-decoration:none}
.esl-a11y-skip:focus{left:0}

/* Blindaje: en este sitio esl-web.css carga despues y trae
   .esl-web button{background:none;color:inherit;border:0;padding:0} */
.esl-web .esl-a11y .esl-a11y-fab{background:#0d2d5e;color:#fff;padding:0;border:0}
.esl-web .esl-a11y .esl-a11y-fab:hover{background:#00b4d8}
.esl-web .esl-a11y .esl-a11y-seg button,.esl-web .esl-a11y .esl-a11y-opts button{background:#f2f6fa;color:#0d2d5e;border:1px solid #d7e0ea}
.esl-web .esl-a11y .esl-a11y-seg button[aria-pressed="true"]{background:#0d2d5e;color:#fff;border-color:#0d2d5e}
.esl-web .esl-a11y .esl-a11y-opts button i{background:#c9d6e4}
.esl-web .esl-a11y .esl-a11y-opts button[aria-pressed="true"] i{background:#00b4d8}
.esl-web .esl-a11y .esl-a11y-reset{background:none;color:#5f6b7a;border:1px solid #d7e0ea}
.esl-web .esl-a11y .esl-a11y-x{background:none;color:#5f6b7a;border:0}
html.esl-a11y-contrast .esl-a11y .esl-a11y-fab{background:#ffe14d !important;color:#000 !important}
