/* Accessibility toolbar — shared by every page (index, privacy, terms, accessibility, English versions).
   Fixed to the physical bottom-left corner in both directions. Every toggle is a class on <html>, so it composes with whatever page is showing.
   Colours fall back to the site palette when a page does not define the variables. */
.a11y-widget{
  /* DOR-B palette (dark panel, green accent), independent of the page's own variables so it looks the same on every page */
  --a-forest:#0f9d48; --a-forest-soft:#12b356; --a-canvas:#ffffff; --a-canvas-deep:#26282d;
  --a-panel:#17181c; --a-ink:#f4f2ee; --a-accent:#2ee87a; --a-accent-hover:#2ee87a; --a-accent-muted:rgba(46,232,122,.16);
  --a-line:rgba(255,255,255,.12); --a-muted:#a4a6ad; --a-ease:cubic-bezier(.16,1,.3,1);
  /* bottom-RIGHT on every page and in both directions (the WhatsApp button and the chameleon own the bottom-left) */
  position:fixed;bottom:22px;right:22px;left:auto;z-index:520;font-family:'Assistant','Rubik','Segoe UI',system-ui,sans-serif;direction:rtl
}
html[lang="en"] .a11y-widget{direction:ltr}
.a11y-toggle{
  width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;
  background:var(--a-forest);color:var(--a-canvas);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 22px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.14);
  transition:transform .25s var(--a-ease),background .25s var(--a-ease);
}
.a11y-toggle:hover{background:var(--a-forest-soft);transform:translateY(-2px)}
.a11y-toggle svg{width:28px;height:28px}
.a11y-widget.open .a11y-toggle{background:var(--a-accent);color:#04220f}
.a11y-panel{
  position:absolute;bottom:64px;right:0;left:auto;
  width:250px;max-width:calc(100vw - 40px);
  background:var(--a-panel);color:var(--a-ink);
  border:1px solid var(--a-line);border-radius:16px;
  box-shadow:0 24px 56px rgba(0,0,0,.6);
  padding:8px;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .22s var(--a-ease),transform .22s var(--a-ease),visibility .22s;
}
.a11y-widget.open .a11y-panel{opacity:1;visibility:visible;transform:translateY(0)}
.a11y-panel__head{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.88rem;color:var(--a-accent);padding:10px 12px 8px}
.a11y-panel__head svg{width:18px;height:18px;flex:none}
.a11y-item{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:none;border:none;border-radius:10px;cursor:pointer;
  padding:10px 12px;font-family:inherit;font-size:.9rem;color:var(--a-ink);
  text-align:start;transition:background .2s var(--a-ease)
}
.a11y-item:hover{background:var(--a-canvas-deep)}
.a11y-item svg{width:18px;height:18px;flex:none;color:var(--a-muted)}
.a11y-item[aria-pressed="true"]{background:var(--a-accent-muted);font-weight:600}
.a11y-item[aria-pressed="true"] svg{color:var(--a-accent)}
.a11y-item--link,.a11y-item--reset{border-block-start:1px solid var(--a-line);margin-block-start:4px;padding-block-start:12px;color:var(--a-ink);font-weight:600}
.a11y-item--link{text-decoration:none}
.a11y-toggle:focus-visible,.a11y-item:focus-visible{outline:3px solid var(--a-accent);outline-offset:2px}
@media(pointer:coarse){.a11y-toggle{width:56px;height:56px}.a11y-item{min-height:44px}}
@media (prefers-reduced-motion:reduce){.a11y-toggle,.a11y-panel,.a11y-item{transition:none}}

/* ---- the toggles (generic; a page may add rules for its own components) ---- */
html.a11y-grayscale{filter:grayscale(1)}
html.a11y-invert{filter:invert(1) hue-rotate(180deg)}
html.a11y-invert img,html.a11y-invert video,html.a11y-invert canvas{filter:invert(1) hue-rotate(180deg)}
html.a11y-contrast body{background:#fff;color:#000}
html.a11y-contrast :is(p,li,span,a,h1,h2,h3,h4,label,button,input,textarea,td,th,code,blockquote):not(.a11y-widget *){color:#000!important;text-shadow:none!important}
html.a11y-contrast :is(section,header,main,footer,table,th,td,blockquote,code){background-color:#fff!important;background-image:none!important}
html.a11y-contrast a:not(.a11y-widget *){color:#00248f!important;text-decoration:underline!important}
html.a11y-lightbg :is(section,header,main){background-image:none!important;filter:none!important}
html.a11y-links a:not(.a11y-widget *){text-decoration:underline!important;text-decoration-thickness:2px!important;background:#FFF3C4!important;color:#211404!important;border-radius:3px;padding-inline:2px}
html.a11y-font body,html.a11y-font input,html.a11y-font textarea,html.a11y-font button{font-family:Arial,Helvetica,sans-serif!important}
html.a11y-font h1,html.a11y-font h2,html.a11y-font h3,html.a11y-font h4{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:normal!important}

/* ---- DOR-B additions ---- */
/* phones: sit above the sticky WhatsApp / call bar */
@media (max-width:720px){.a11y-widget{bottom:92px;right:14px}.a11y-toggle{width:48px;height:48px}}
/* text size: the page is written in px, so body copy is zoomed by the same step as the root font size */
html.a11y-fs :is(main,footer) :is(p,li,blockquote,figcaption,dd,a):not(.tscroll-text):not(.tscroll-sub):not(.dorb-tagline):not(.dorb-claim):not(.dorb-because):not(.halo-title):not(.arc-heading):not(.a11y-item){zoom:var(--a11y-z,1)}
html.a11y-fs :is(main,footer) :is(p,li,blockquote,figcaption,dd) a{zoom:1}
/* flatten the atmosphere (grain, glows, wave) and keep nothing decorative behind the text */
html.a11y-lightbg :is(.grain,.ambient,.dorb-wave,.cs-stage::before){display:none!important}
html.a11y-lightbg body,html.a11y-lightbg .section{background-image:none!important}
html.a11y-contrast :is(.dorb-wave,.grain,.ambient){display:none!important}
html.a11y-contrast .a11y-panel{background:#000!important;border-color:#fff!important}
html.a11y-contrast .a11y-panel :is(span,a,button){color:#fff!important}
html.a11y-contrast .a11y-toggle{background:#000!important;color:#fff!important;box-shadow:0 0 0 2px #fff!important}
