/* Accessibility Tools V1 + banner cookies — SP7 WCAG-CMS */
:root{--wcagcms-cookie-offset:0px}

.accessibility-tools-v1{
  --a11y-ink:#0b1f33;--a11y-blue:#245b7a;--a11y-blue-dark:#163a57;--a11y-wine:#8b1e2d;
  --a11y-gold:#d6a63b;--a11y-paper:#fffdf9;--a11y-soft:#f6f8f9;--a11y-border:#d7e0e6;--a11y-focus:#ffbf47;
  position:fixed;z-index:100010;left:1rem;bottom:calc(1rem + var(--wcagcms-cookie-offset));
  color:var(--a11y-ink);font-family:"Atkinson Hyperlegible",Arial,Verdana,sans-serif;
  transition:bottom .18s ease;
}
.accessibility-tools-v1__trigger{display:flex;align-items:center;gap:.55rem;min-height:3.1rem;padding:.55rem .85rem;color:#fff;background:var(--a11y-blue-dark);border:2px solid #fff;border-radius:.85rem;box-shadow:0 .65rem 1.7rem rgba(11,31,51,.24);font-weight:800;cursor:pointer}
.accessibility-tools-v1__trigger:hover{background:var(--a11y-ink)}
.accessibility-tools-v1__trigger-icon{display:grid;place-items:center;min-width:2rem;height:2rem;padding:0 .25rem;color:var(--a11y-ink);background:var(--a11y-gold);border-radius:.45rem;font-weight:900}
.accessibility-tools-v1__panel{position:absolute;left:0;bottom:calc(100% + .7rem);width:min(27rem,calc(100vw - 2rem));max-height:min(72vh,calc(100vh - var(--wcagcms-cookie-offset) - 6rem));overflow:auto;padding:1rem;color:var(--a11y-ink);background:var(--a11y-paper);border:1px solid var(--a11y-border);border-top:.35rem solid var(--a11y-wine);border-radius:1rem;box-shadow:0 1.2rem 3rem rgba(11,31,51,.22)}
.accessibility-tools-v1__panel[hidden]{display:none!important}
.accessibility-tools-v1__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--a11y-border)}
.accessibility-tools-v1__title{margin:0;color:var(--a11y-ink);font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;line-height:1.2}
.accessibility-tools-v1__description{margin:.35rem 0 0;color:#536272;font-size:.92rem;line-height:1.45}
.accessibility-tools-v1__close{flex:0 0 auto;min-width:2.75rem;min-height:2.75rem;padding:.25rem;color:var(--a11y-ink);background:#fff;border:1px solid var(--a11y-border);border-radius:.65rem;font-size:1.55rem;line-height:1;cursor:pointer}
.accessibility-tools-v1__group{margin-top:.85rem;padding:.85rem;background:var(--a11y-soft);border:1px solid var(--a11y-border);border-radius:.8rem}
.accessibility-tools-v1__group h3{margin:0 0 .65rem;color:var(--a11y-ink);font-size:1rem}
.accessibility-tools-v1__buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.accessibility-tools-v1__buttons--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.accessibility-tools-v1__buttons button,.accessibility-tools-v1__reset{min-height:2.75rem;padding:.55rem .65rem;color:var(--a11y-ink);background:#fff;border:1px solid var(--a11y-border);border-radius:.7rem;font-weight:750;line-height:1.25;cursor:pointer}
.accessibility-tools-v1__buttons button:hover{background:#e6eef3;border-color:var(--a11y-blue)}
.accessibility-tools-v1__buttons button[aria-pressed="true"]{color:#fff;background:var(--a11y-blue);border-color:var(--a11y-blue)}
.accessibility-tools-v1__value{margin:.55rem 0 0;color:#536272;font-size:.87rem}
.accessibility-tools-v1__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--a11y-border)}
.accessibility-tools-v1__footer a{color:var(--a11y-blue-dark);font-weight:750;text-decoration:underline}
.accessibility-tools-v1__reset{color:var(--a11y-wine);background:#f7f3eb;border-color:var(--a11y-gold)}
.accessibility-tools-v1 :is(button,a):focus-visible,.cookie-banner :is(button,a):focus-visible{outline:3px solid var(--a11y-focus,#ffbf47);outline-offset:3px}

.cookie-banner{position:fixed;z-index:99990;right:1rem;bottom:1rem;left:1rem;width:min(58rem,calc(100% - 2rem));margin-inline:auto;padding:1rem 1.1rem;color:#0b1f33;background:rgba(255,253,249,.99);border:1px solid #d7e0e6;border-top:.35rem solid #8b1e2d;border-radius:.9rem;box-shadow:0 1rem 3rem rgba(11,31,51,.22);backdrop-filter:blur(.45rem)}
.cookie-banner[hidden]{display:none!important}
.cookie-banner__content{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center}
.cookie-banner p{margin:0;color:#0b1f33;line-height:1.55}
.cookie-banner a{color:#163a57;font-weight:800;text-decoration:underline;text-underline-offset:.18em}
.cookie-banner__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}
.cookie-banner__actions button{min-height:2.9rem;padding:.65rem .9rem;border:2px solid transparent;border-radius:.7rem;font-weight:800;cursor:pointer}
.cookie-banner__accept{color:#0b1f33;background:#d6a63b;border-color:#d6a63b!important}
.cookie-banner__accept:hover{background:#edc766;border-color:#7a5600!important}
.cookie-banner__necessary{color:#0b1f33;background:#fff;border-color:#245b7a!important}
.cookie-banner__necessary:hover{background:#e6eef3;border-color:#163a57!important}
.footer-cookie-button{padding:0;color:#fff;background:transparent;border:0;font:inherit;text-decoration:underline;text-underline-offset:.18em;cursor:pointer}
.footer-cookie-button:hover{text-decoration-thickness:.16em}

/* tryby wizualne — widget jest dodatkiem, domyślna wersja serwisu pozostaje dostępna */
body.a11y-grayscale :is(.utility,.site-header,.primary-nav,main,.site-footer,.demo-ribbon){filter:grayscale(1)}
body.a11y-invert :is(.utility,.site-header,.primary-nav,main,.site-footer,.demo-ribbon){filter:invert(1) hue-rotate(180deg)}
body.a11y-invert :is(.utility,.site-header,.primary-nav,main,.site-footer,.demo-ribbon) img{filter:invert(1) hue-rotate(180deg)}
body.a11y-light{--navy:#111!important;--navy2:#222!important;--wine:#5e1725!important;--wine-dark:#5e1725!important;--ink:#111!important;--muted:#333!important;--soft:#fff!important;--warm:#fff!important;--line:#777!important;--platinum-bg:#fff!important;--platinum-surface:#fff!important;--platinum-tint:#fff!important;--platinum-warm:#fff!important;background:#fff!important}
body.a11y-underline-links a:not(.btn):not(.quick-card):not(.inst){text-decoration:underline!important;text-decoration-thickness:.12em!important;text-underline-offset:.18em!important}
body.a11y-readable-font,body.a11y-readable-font button,body.a11y-readable-font input,body.a11y-readable-font select,body.a11y-readable-font textarea{font-family:"Atkinson Hyperlegible",Arial,Verdana,sans-serif!important}
body.no-motion *,body.no-motion *::before,body.no-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

@media(max-width:48rem){
  .cookie-banner{right:.5rem;bottom:.5rem;left:.5rem;width:calc(100% - 1rem);padding:.9rem}
  .cookie-banner__content{grid-template-columns:1fr}
  .cookie-banner__actions{display:grid;grid-template-columns:1fr;justify-content:stretch}
  .cookie-banner__actions button{width:100%}
  .accessibility-tools-v1{left:.5rem;bottom:calc(.5rem + var(--wcagcms-cookie-offset))}
  .accessibility-tools-v1__trigger-label{display:none}
  .accessibility-tools-v1__panel{width:calc(100vw - 1rem);max-height:min(68vh,calc(100vh - var(--wcagcms-cookie-offset) - 5.5rem))}
}
@media(prefers-reduced-motion:reduce){.accessibility-tools-v1,.accessibility-tools-v1 *,.cookie-banner *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.accessibility-tools-v1__panel,.cookie-banner{color:CanvasText;background:Canvas;border:2px solid CanvasText;box-shadow:none}.accessibility-tools-v1 button,.cookie-banner button{color:ButtonText;background:ButtonFace;border-color:ButtonText;forced-color-adjust:auto}}
@media print{#accessibility-tools-v1,#cookie-banner{display:none!important}}
