/* ===== Accessibility widget + modes (public + registrant portals) ===== */
.a11y-btn{position:fixed;right:16px;bottom:16px;z-index:9000;display:inline-flex;align-items:center;gap:7px;background:#0f6a86;color:#fff;border:none;border-radius:24px;padding:10px 14px;font-size:14px;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.25);cursor:pointer;font-family:-apple-system,Segoe UI,Roboto,sans-serif}
.a11y-btn:hover{background:#0d5c74}
.a11y-btn:focus-visible{outline:3px solid #ffd54a;outline-offset:2px}
.a11y-btn .a11y-ic{font-size:18px;line-height:1}
.a11y-panel{position:fixed;right:16px;bottom:66px;z-index:9000;width:284px;max-width:calc(100vw - 32px);background:#fff;color:#1a2b33;border-radius:14px;box-shadow:0 16px 44px rgba(0,0,0,.28);padding:14px;display:none;font-family:-apple-system,Segoe UI,Roboto,sans-serif;max-height:calc(100vh - 90px);overflow-y:auto}
.a11y-panel.open{display:block}
.a11y-h{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:15px;margin-bottom:6px}
.a11y-x{background:transparent;border:none;font-size:22px;cursor:pointer;color:#5f6b72;line-height:1}
.a11y-sec{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#7a858b;margin:10px 0 4px}
.a11y-fs{display:flex;gap:6px}
.a11y-fs button{flex:1;padding:9px;border:1px solid #d5dde1;background:#fff;border-radius:8px;cursor:pointer;font-weight:800;color:#1a2b33}
.a11y-fs button.on{background:#0f6a86;color:#fff;border-color:#0f6a86}
.a11y-opt{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 11px;border:1px solid #e3e8eb;background:#fff;border-radius:9px;cursor:pointer;margin-top:6px;font-size:13.5px;text-align:left;color:#1a2b33}
.a11y-opt.on{border-color:#0f6a86;background:#eef7fa}
.a11y-sw{font-size:12px;font-weight:800;color:#8a949b}
.a11y-opt.on .a11y-sw{color:#0f6a86}
.a11y-reset{width:100%;margin-top:12px;padding:9px;border:none;background:#f0f3f5;border-radius:8px;cursor:pointer;font-size:12.5px;color:#5f6b72;font-weight:600}

/* --- modes --- */
html.a11y-fs1 body{zoom:1.12}
html.a11y-fs2 body{zoom:1.25}
html.a11y-underline a{text-decoration:underline!important}
html.a11y-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-spacing p,html.a11y-spacing li,html.a11y-spacing label,html.a11y-spacing .pdetail,html.a11y-spacing .intro,html.a11y-spacing .hint{line-height:1.9!important}
html.a11y-dys body{font-family:Verdana,Tahoma,"Trebuchet MS",sans-serif!important;letter-spacing:.02em;word-spacing:.06em}
html.a11y-dys p,html.a11y-dys li,html.a11y-dys label{line-height:1.8!important}
html.a11y-contrast body{background:#fff!important;color:#000!important}
html.a11y-contrast .pcard,html.a11y-contrast .card,html.a11y-contrast .panel,html.a11y-contrast .modal,html.a11y-contrast .login-card,html.a11y-contrast .step,html.a11y-contrast .kb-art{background:#fff!important;color:#000!important;border:2px solid #000!important}
html.a11y-contrast a{color:#0033cc!important}
html.a11y-contrast .muted,html.a11y-contrast .hint,html.a11y-contrast .sub,html.a11y-contrast .pdetail{color:#1a1a1a!important}
html.a11y-contrast .btn,html.a11y-contrast button:not(.a11y-x):not(.a11y-fs button){border:2px solid #000!important}

/* --- colorblind filters + WCAG focus/skip --- */
html.a11y-cb-protan body{filter:url(#a11y-protan)}
html.a11y-cb-deutan body{filter:url(#a11y-deutan)}
html.a11y-cb-tritan body{filter:url(#a11y-tritan)}
.a11y-cb{display:flex;gap:6px;flex-wrap:wrap}
.a11y-cb button{flex:1 1 46%;padding:8px;border:1px solid #d5dde1;background:#fff;border-radius:8px;cursor:pointer;font-weight:600;font-size:12.5px;color:#1a2b33}
.a11y-cb button.on{background:#0f6a86;color:#fff;border-color:#0f6a86}
/* visible keyboard focus everywhere (WCAG 2.4.7) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid #ffbf47!important;outline-offset:2px!important;border-radius:4px}
/* skip-to-content link (WCAG 2.4.1) */
.a11y-skip{position:fixed;left:12px;top:-60px;z-index:9500;background:#0f6a86;color:#fff;padding:10px 16px;border-radius:8px;font-weight:700;text-decoration:none;transition:top .15s;font-family:-apple-system,Segoe UI,Roboto,sans-serif}
.a11y-skip:focus{top:12px;outline:3px solid #ffbf47;outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
