/* CUWiZO – Panel dostępności. Scoped UI and opt-in display changes. */
.cuwizo-a11y{--ca-navy:#073050;--ca-blue:#005a9e;--ca-text:#142c3d;--ca-border:#dae5ed;position:fixed;right:0;top:44%;z-index:2147483000;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45;color:var(--ca-text)}
.cuwizo-a11y *, .cuwizo-a11y *::before,.cuwizo-a11y *::after{box-sizing:border-box}
.cuwizo-a11y button{cursor:pointer;font-family:inherit;line-height:1.3;text-transform:none;letter-spacing:normal;text-decoration:none;box-shadow:none}
.cuwizo-a11y button:focus-visible{outline:3px solid #e69d16!important;outline-offset:3px!important}
.cuwizo-a11y__trigger{width:48px;height:57px;border:0!important;border-radius:12px 0 0 12px!important;background:var(--ca-navy)!important;color:#fff!important;font-size:22px!important;font-weight:700!important;box-shadow:0 4px 18px #0003!important}
.cuwizo-a11y__trigger:hover{background:var(--ca-blue)!important}
.cuwizo-a11y__panel{position:absolute;right:52px;top:0;width:min(310px,calc(100vw - 68px));border:1px solid var(--ca-border);border-radius:14px;background:#fff;color:var(--ca-text);box-shadow:0 8px 30px #0003;overflow:hidden}
.cuwizo-a11y__panel[aria-hidden="true"]{display:none}
.cuwizo-a11y__heading{background:var(--ca-navy);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;font-size:17px}
.cuwizo-a11y__close{font-size:26px!important;color:#fff!important;background:transparent!important;border:0!important;padding:0 4px!important;min-width:34px;min-height:34px}
.cuwizo-a11y__inner{padding:18px 16px}
.cuwizo-a11y__label{display:block;font-size:15px;font-weight:700;margin-bottom:10px}
.cuwizo-a11y__sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:15px}
.cuwizo-a11y__sizes button{background:#f2f6f9!important;color:var(--ca-navy)!important;border:2px solid #bacbd8!important;border-radius:8px!important;font-size:18px!important;font-weight:700!important;min-height:48px;padding:7px!important}
.cuwizo-a11y__sizes button[aria-pressed="true"]{background:var(--ca-navy)!important;color:#fff!important;border-color:var(--ca-navy)!important}
.cuwizo-a11y__contrast,.cuwizo-a11y__reset{width:100%;padding:12px 10px!important;border-radius:8px!important;min-height:45px;font-size:15px!important;font-weight:700!important}
.cuwizo-a11y__contrast{background:#fff!important;color:var(--ca-navy)!important;border:2px solid var(--ca-navy)!important;margin-bottom:9px}
.cuwizo-a11y__contrast[aria-pressed="true"]{background:#000!important;color:#ffeb3b!important;border-color:#000!important}
.cuwizo-a11y__contrast span{font-size:20px;margin-right:5px}
.cuwizo-a11y__reset{background:#eaf1f6!important;color:var(--ca-navy)!important;border:1px solid #cbdce8!important}
.cuwizo-a11y__note{font-size:12px!important;line-height:1.5!important;color:#526579!important;margin:12px 0 0!important}
/* Text scaling: changes root rem values, plus px-based common text nodes through relative zoom where supported. */
html.cuwizo-a11y-sm{font-size:90%!important}
html.cuwizo-a11y-lg{font-size:115%!important}
html.cuwizo-a11y-sm body{zoom:.95}
html.cuwizo-a11y-lg body{zoom:1.12}
/* High contrast only when chosen by user; preserve widget's own style. */
html.cuwizo-a11y-contrast{background:#000!important}
html.cuwizo-a11y-contrast body{background:#000!important;color:#fff!important}
html.cuwizo-a11y-contrast body :is(main,header,footer,nav,article,section,aside,div,p,ul,ol,li,h1,h2,h3,h4,h5,h6,blockquote,table,td,th,form,label):not(.cuwizo-a11y):not(.cuwizo-a11y *){background-color:#000!important;color:#fff!important;border-color:#fff!important;box-shadow:none!important;text-shadow:none!important}
html.cuwizo-a11y-contrast body :is(a,a *,button:not(.cuwizo-a11y button)){color:#ffeb3b!important;text-decoration:underline!important}
html.cuwizo-a11y-contrast body :is(input,textarea,select){background:#000!important;color:#fff!important;border:2px solid #fff!important}
html.cuwizo-a11y-contrast body :is(img,video,svg){filter:none!important}
html.cuwizo-a11y-contrast body :focus-visible{outline:3px solid #ffeb3b!important;outline-offset:2px!important}
@media(max-width:600px){.cuwizo-a11y{top:auto;bottom:90px}.cuwizo-a11y__panel{top:auto;bottom:0;max-height:calc(100vh - 30px);overflow:auto}}
@media(prefers-reduced-motion:reduce){.cuwizo-a11y *{transition:none!important;animation:none!important}}
/* 1.1: keep the panel hidden until opened (even against theme styles). */
.cuwizo-a11y__panel[hidden]{display:none!important}
