/* Accessibility widget + cookie consent */
.a11y{position:fixed;left:18px;bottom:18px;z-index:1500}
.a11y__btn{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,var(--c-primary-dark),var(--c-primary));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(13,138,160,.4);transition:transform var(--t)}
.a11y__btn:hover{transform:scale(1.08)}
.a11y__btn svg{width:28px;height:28px;fill:#fff}
.a11y__btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.a11y__panel{position:absolute;bottom:74px;left:0;width:320px;max-width:calc(100vw - 36px);background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);border:1px solid var(--c-border);padding:18px;display:none;max-height:80vh;overflow-y:auto}
.a11y__panel.is-open{display:block}
.a11y__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--c-border)}
.a11y__title{font-size:1.1rem;font-weight:800;color:var(--c-primary-dark)}
.a11y__close{font-size:1.6rem;line-height:1;color:var(--c-text-mute);padding:4px}
.a11y__close:hover{color:var(--c-text)}
.a11y__group{margin-bottom:14px}
.a11y__group-label{font-size:.78rem;font-weight:700;color:var(--c-text-mute);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.a11y__row{display:flex;align-items:center;justify-content:space-between;padding:10px;border-radius:10px;transition:background var(--t)}
.a11y__row:hover{background:var(--c-bg-soft)}
.a11y__row span{font-weight:600;font-size:.95rem}
.a11y__seg{display:inline-flex;border:1px solid var(--c-border);border-radius:20px;overflow:hidden}
.a11y__seg button{padding:6px 14px;font-weight:700;font-size:.85rem;color:var(--c-text-soft);transition:var(--t)}
.a11y__seg button.is-active{background:var(--c-primary);color:#fff}
.a11y__toggle{width:44px;height:26px;border-radius:13px;background:var(--c-border);position:relative;transition:background var(--t);flex-shrink:0}
.a11y__toggle::after{content:"";position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform var(--t);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.a11y__toggle.is-on{background:var(--c-primary)}
.a11y__toggle.is-on::after{transform:translateX(-18px)}
.a11y__reset{width:100%;margin-top:8px;padding:11px;border-radius:10px;background:var(--c-bg-soft);font-weight:700;color:var(--c-text-soft);transition:var(--t)}
.a11y__reset:hover{background:var(--c-primary-light);color:var(--c-primary-dark)}
.a11y__link{display:block;text-align:center;margin-top:10px;padding:11px;border-radius:10px;background:var(--c-primary-light);color:var(--c-primary-dark);font-weight:700;font-size:.9rem}
.a11y__link:hover{background:var(--c-primary);color:#fff}

/* Accessibility modes applied to body */
body.a11y-grayscale{filter:grayscale(1)}
body.a11y-invert{filter:invert(1) hue-rotate(180deg)}
body.a11y-highcontrast{background:#000!important;color:#fff!important}
body.a11y-highcontrast *{background:#000!important;color:#fff!important;border-color:#fff!important}
body.a11y-highcontrast a{color:#ffe000!important;text-decoration:underline!important}
body.a11y-highcontrast img{filter:grayscale(1) invert(1)}
body.a11y-links a{text-decoration:underline!important;font-weight:700!important}
body.a11y-readable{font-family:Verdana,Arial,sans-serif!important;letter-spacing:.3px}
body.a11y-bigcursor{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><circle cx='20' cy='20' r='18' fill='%2316b2bd'/></svg>") 20 20,auto}
body.a11y-bigcursor *{cursor:inherit}
body.a11y-pause *{animation:none!important;transition:none!important}
body.a11y-hideimg img{visibility:hidden}
body.a11y-headings h1,body.a11y-headings h2,body.a11y-headings h3,body.a11y-headings h4{outline:2px dashed var(--c-primary)!important;outline-offset:2px}
body.a11y-textspacing{letter-spacing:.12em!important;word-spacing:.16em!important;line-height:1.9!important}
body.a11y-font-lg{font-size:118%}
body.a11y-font-xl{font-size:138%}

/* Cookie consent */
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:1600;background:#0c2a32;color:#fff;padding:18px 0;box-shadow:0 -6px 24px rgba(0,0,0,.25);transform:translateY(100%);transition:transform .4s ease}
.cookie.is-visible{transform:translateY(0)}
.cookie__inner{display:flex;align-items:center;gap:24px;max-width:var(--container);margin:0 auto;padding:0 20px}
.cookie__text{flex:1;font-size:.92rem;line-height:1.6}
.cookie__text a{color:var(--c-primary);text-decoration:underline;font-weight:700}
.cookie__actions{display:flex;gap:10px;flex-shrink:0}
.cookie__btn{padding:10px 22px;border-radius:30px;font-weight:700;font-size:.92rem;transition:var(--t)}
.cookie__btn--accept{background:var(--c-primary);color:#fff}
.cookie__btn--accept:hover{background:var(--c-primary-dark)}
.cookie__btn--decline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}
.cookie__btn--decline:hover{background:rgba(255,255,255,.1)}
@media (max-width:600px){
 .cookie__inner{flex-direction:column;text-align:center;gap:14px}
 .cookie__actions{width:100%;justify-content:center}
}
