/* Enlace para saltar al contenido (CC10) */
.ese-skip{position:fixed;left:12px;top:-80px;z-index:1000001;background:#0B4F9C;color:#fff!important;padding:12px 18px;border-radius:8px;font-weight:700;text-decoration:none;transition:top .15s}
.ese-skip:focus{top:12px;outline:3px solid #ffbf47;outline-offset:2px}

/* Foco visible en todo el sitio (CC17) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #ffbf47!important;outline-offset:2px!important;box-shadow:0 0 0 5px rgba(11,79,156,.55)!important}

/* Barra */
.ese-a11y{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:1000000;font-family:Arial,Helvetica,sans-serif}
.ese-a11y__sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.ese-a11y__toggle{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:0;border-radius:0 12px 12px 0;background:#0B4F9C;color:#fff;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.ese-a11y__toggle:hover{background:#083b75}
.ese-a11y__panel{position:absolute;left:58px;top:50%;transform:translateY(-50%);width:290px;max-width:calc(100vw - 72px);max-height:calc(100vh - 40px);overflow:auto;background:#fff;color:#1d2733;border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.28);padding:16px}
.ese-a11y__title{margin:0 0 10px!important;font-size:17px!important;font-weight:700;color:#0B4F9C}
.ese-a11y__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ese-a11y__grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:64px;padding:8px 6px;border:2px solid #c9d3df;border-radius:10px;background:#f4f8fc;color:#1d2733;font-size:13px!important;font-weight:600;line-height:1.2;cursor:pointer;text-align:center}
.ese-a11y__grid button span{font-size:18px!important;font-weight:800;color:#0B4F9C}
.ese-a11y__grid button:hover{border-color:#0B4F9C}
.ese-a11y__grid button[aria-pressed="true"]{background:#0B4F9C;border-color:#0B4F9C;color:#fff}
.ese-a11y__grid button[aria-pressed="true"] span{color:#fff}
.ese-a11y__status{min-height:1em;margin:8px 0 0!important;font-size:12.5px!important;color:#4a5664}
.ese-a11y__links{list-style:none;margin:8px 0 0!important;padding:10px 0 0!important;border-top:1px solid #e3e8ef}
.ese-a11y__links li{margin:0 0 6px!important;padding:0!important}
.ese-a11y__links a{color:#0B4F9C!important;font-size:14px!important;font-weight:600;text-decoration:underline}
@media (max-width:767px){.ese-a11y{top:auto;bottom:90px;transform:none}.ese-a11y__toggle{width:46px;height:46px}.ese-a11y__panel{top:auto;bottom:0;transform:none}}

/* Subrayar enlaces */
html.a11y-links a{text-decoration:underline!important;text-underline-offset:3px}

/* Fuente legible */
html.a11y-readable body *:not(i):not([class*="fa"]):not([class*="icon"]):not(svg):not(path){font-family:Verdana,Arial,Helvetica,sans-serif!important;letter-spacing:.03em!important;word-spacing:.08em!important}
html.a11y-readable body p,html.a11y-readable body li{line-height:1.8!important}

/* Escala de grises (no se aplica a la barra) */
html.a11y-gray body>*:not(#ese-a11y):not(.ese-skip){filter:grayscale(1)}

/* Detener animaciones */
html.a11y-stop *,html.a11y-stop *::before,html.a11y-stop *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* Alto contraste (CC5) */
html.a11y-contrast body,html.a11y-contrast body *:not(#ese-a11y):not(#ese-a11y *){background-color:#000!important;background-image:none!important;color:#fff!important;border-color:#fff!important;box-shadow:none!important;text-shadow:none!important}
html.a11y-contrast body a,html.a11y-contrast body a *{color:#ffff00!important;text-decoration:underline!important}
html.a11y-contrast body button:not(#ese-a11y button),html.a11y-contrast body .elementor-button{border:2px solid #ffff00!important;color:#ffff00!important}
html.a11y-contrast img,html.a11y-contrast video,html.a11y-contrast iframe{filter:none!important;background:transparent!important}
html.a11y-contrast .elementor-background-overlay,html.a11y-contrast .elementor-motion-effects-layer{display:none!important}
html.a11y-contrast input,html.a11y-contrast select,html.a11y-contrast textarea{background:#000!important;color:#fff!important;border:2px solid #fff!important}
html.a11y-contrast #ese-a11y a,html.a11y-contrast #ese-a11y a *{color:#0B4F9C!important}
