/* NTL Accessibility Widget — self-contained, light theme, no dependencies */
:root{--a11y-blue:#0050b0;--a11y-ink:#13233b;--a11y-line:#e3e9f2;--a11y-soft:#f4f7fc}

/* launcher button */
#a11y-btn{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));right:calc(20px + env(safe-area-inset-right));z-index:2147483000;width:52px;height:52px;border:none;border-radius:50%;
  background:var(--a11y-blue);color:#fff;cursor:pointer;box-shadow:0 8px 22px -8px rgba(0,60,140,.6);
  display:flex;align-items:center;justify-content:center;transition:transform .18s,box-shadow .18s}
#a11y-btn:hover{transform:scale(1.07)}
#a11y-btn:focus-visible{outline:3px solid #ffd54a;outline-offset:3px}
#a11y-btn svg{width:28px;height:28px;fill:#fff}
html[dir=rtl] #a11y-btn{right:auto;left:calc(20px + env(safe-area-inset-left))}

/* panel — sized in px so the "bigger text" page-scale never inflates it; fits any phone in one card */
#a11y-panel{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));right:calc(16px + env(safe-area-inset-right));z-index:2147483000;width:280px;max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));
  max-height:calc(100dvh - 92px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;background:#fff;color:var(--a11y-ink);border-radius:14px;
  box-shadow:0 24px 56px -18px rgba(3,16,40,.45);border:1px solid var(--a11y-line);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:13px;display:none;animation:a11y-pop .2s ease}
#a11y-panel.open{display:block}
html[dir=rtl] #a11y-panel{right:auto;left:calc(16px + env(safe-area-inset-left))}
@keyframes a11y-pop{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

#a11y-panel header{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:9px 13px;background:var(--a11y-blue);color:#fff;border-radius:14px 14px 0 0;position:sticky;top:0}
#a11y-panel header h2{margin:0;font-size:15px!important;font-weight:800;font-family:inherit}
#a11y-close{background:rgba(255,255,255,.18);border:none;color:#fff;width:26px;height:26px;border-radius:50%;
  font-size:14px!important;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
#a11y-close:hover{background:rgba(255,255,255,.32)}

.a11y-body{padding:9px 10px 11px}
.a11y-group{margin-bottom:8px}
.a11y-group h3{margin:0 0 4px;font-size:10px!important;text-transform:uppercase;letter-spacing:.05em;color:#7a899e;font-weight:800}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.a11y-opt{display:flex;flex-direction:row;align-items:center;gap:6px;text-align:left;
  padding:7px 8px;border:1px solid var(--a11y-line);border-radius:9px;background:#fff;cursor:pointer;
  font-size:11.5px!important;font-weight:600;color:var(--a11y-ink);transition:.14s;font-family:inherit;line-height:1.15}
.a11y-opt .ic{font-size:15px!important;line-height:1;flex:0 0 auto;width:18px;text-align:center}
.a11y-opt:hover{border-color:var(--a11y-blue);background:var(--a11y-soft)}
.a11y-opt[aria-pressed=true]{border-color:var(--a11y-blue);background:#e9f1fc;box-shadow:inset 0 0 0 1px var(--a11y-blue)}
.a11y-opt:focus-visible{outline:3px solid #ffd54a;outline-offset:2px}

.a11y-lang{display:flex;gap:4px}
.a11y-lang button{flex:1;padding:7px 4px;border:1px solid var(--a11y-line);border-radius:8px;background:#fff;
  cursor:pointer;font-weight:700;font-size:12px!important;color:var(--a11y-ink);font-family:inherit;transition:.14s}
.a11y-lang button:hover{border-color:var(--a11y-blue);background:var(--a11y-soft)}
.a11y-lang button[aria-pressed=true]{background:var(--a11y-blue);color:#fff;border-color:var(--a11y-blue)}
.a11y-lang button:focus-visible{outline:3px solid #ffd54a;outline-offset:2px}

.a11y-reset{width:100%;margin-top:2px;padding:8px;border:none;border-radius:9px;background:#fdeaea;color:#b0141b;
  font-weight:800;cursor:pointer;font-size:12px!important;font-family:inherit;transition:.14s}
.a11y-reset:hover{background:#fbdada}
.a11y-reset:focus-visible{outline:3px solid #ffd54a;outline-offset:2px}

/* ===== effect classes applied to <html> ===== */
html.a11y-contrast,html.a11y-contrast body{background:#000!important;color:#fff!important}
html.a11y-contrast a,html.a11y-contrast h1,html.a11y-contrast h2,html.a11y-contrast h3,
html.a11y-contrast p,html.a11y-contrast span,html.a11y-contrast li,html.a11y-contrast div{color:#fff!important;background-color:transparent!important}
html.a11y-contrast a{color:#ffe600!important;text-decoration:underline!important}
html.a11y-contrast img{filter:none}

html.a11y-invert{filter:invert(1) hue-rotate(180deg)}
html.a11y-invert img,html.a11y-invert video,html.a11y-invert [style*="background-image"]{filter:invert(1) hue-rotate(180deg)}

html.a11y-readable *{font-family:Verdana,Tahoma,Arial,"Segoe UI",sans-serif!important;letter-spacing:.01em}

html.a11y-space *{letter-spacing:.09em!important;word-spacing:.12em!important}
html.a11y-lineheight *{line-height:2.1!important}

html.a11y-links a{text-decoration:underline!important;outline:2px dashed var(--a11y-blue);outline-offset:2px;
  background:#fff6cf!important;color:#0040a0!important;padding:0 2px}

html.a11y-cursor,html.a11y-cursor *{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 4 L8 40 L18 30 L24 44 L30 42 L24 28 L38 28 Z' fill='%230050b0' stroke='white' stroke-width='2'/%3E%3C/svg%3E") 4 4,auto!important}

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

/* text scaling steps */
html.a11y-fs1{font-size:112.5%}
html.a11y-fs2{font-size:125%}
html.a11y-fs3{font-size:140%}
html[class*="a11y-fs"] p,html[class*="a11y-fs"] li,html[class*="a11y-fs"] a,
html[class*="a11y-fs"] span,html[class*="a11y-fs"] .btn,html[class*="a11y-fs"] button{font-size:1.06em}

/* reading mask — a clear horizontal strip; everything outside is dimmed via a huge box-shadow */
#a11y-mask{position:fixed;left:-10px;right:-10px;width:calc(100% + 20px);height:110px;top:0;
  z-index:2147482000;pointer-events:none;display:none;background:transparent;
  box-shadow:0 0 0 9999px rgba(0,0,0,.55)}
#a11y-mask.on{display:block}

/* keep the widget itself immune to contrast/invert effects */
html.a11y-invert #a11y-btn,html.a11y-invert #a11y-panel,html.a11y-invert #a11y-mask{filter:invert(1) hue-rotate(180deg)}
html.a11y-contrast #a11y-panel,html.a11y-contrast #a11y-panel *{background-color:initial;color:var(--a11y-ink)!important}
html.a11y-contrast #a11y-panel{background:#fff!important}
html.a11y-contrast #a11y-panel header,html.a11y-contrast #a11y-panel header *{background:var(--a11y-blue)!important;color:#fff!important}
html.a11y-contrast #a11y-panel .a11y-opt,html.a11y-contrast #a11y-panel .a11y-lang button{background:#fff!important;border-color:var(--a11y-line)!important}
html.a11y-contrast #a11y-panel .a11y-lang button[aria-pressed=true]{background:var(--a11y-blue)!important;color:#fff!important}
html.a11y-contrast #a11y-panel .a11y-opt[aria-pressed=true]{background:#e9f1fc!important}
html.a11y-contrast #a11y-panel .a11y-reset{background:#fdeaea!important;color:#b0141b!important}
html.a11y-contrast #a11y-btn{background:var(--a11y-blue)!important}
