/* Accessibility menu (תפריט נגישות): shared by every page.
   Settings are classes on <html>, set by a11y.js before first paint. */

/* trigger + panel */
.a11y-btn{position:fixed; right:1.2rem; bottom:calc(1.2rem + env(safe-area-inset-bottom,0px)); z-index:70; width:52px; height:52px; border-radius:50%; border:2px solid #fff; background:var(--navy); color:#fff; display:grid; place-items:center; cursor:pointer; box-shadow:0 8px 24px rgba(19,36,74,.28); padding:0}
.a11y-btn:hover{background:var(--navy-deep)}
.a11y-btn svg{width:28px; height:28px}
.a11y-panel{position:fixed; right:1.2rem; bottom:calc(5.2rem + env(safe-area-inset-bottom,0px)); z-index:71; width:min(330px, calc(100vw - 2rem)); max-height:calc(100vh - 7rem); max-height:calc(100dvh - 7rem); overflow-y:auto; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-top:4px solid var(--orange); border-radius:16px; padding:1.1rem 1.2rem 1.2rem; box-shadow:0 18px 48px rgba(19,36,74,.28); font-family:var(--body); font-size:1rem; line-height:1.5}
.a11y-panel[hidden]{display:none}
.a11y-panel h2:focus{outline:none}
.a11y-panel h2{font-family:var(--display); font-size:1.2rem; color:var(--navy); margin:0 0 .8rem}
.a11y-group{border:0; margin:0; padding:0}
.a11y-group + .a11y-group{margin-top:1rem}
.a11y-group legend{font-family:var(--display); font-weight:700; color:var(--ink); padding:0; margin-bottom:.45rem; font-size:.98rem}
.a11y-opts{display:flex; flex-wrap:wrap; gap:.45rem}
.a11y-opts button,.a11y-reset{font:inherit; font-size:.95rem; min-height:44px; padding:.35rem .9rem; border-radius:999px; border:1.5px solid var(--line); background:var(--paper); color:var(--ink); cursor:pointer}
.a11y-opts button:hover{border-color:var(--navy)}
.a11y-opts button[aria-pressed="true"]{background:var(--navy); border-color:var(--navy); color:#fff; font-weight:600}
.a11y-foot{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem; margin-top:1.2rem; padding-top:1rem; border-top:1px solid var(--line)}
.a11y-reset{border-color:var(--navy); color:var(--navy); font-weight:600}
.a11y-reset:hover{background:var(--navy); color:#fff}
.a11y-foot a{color:var(--navy); font-size:.95rem}
@media print{.a11y-btn,.a11y-panel{display:none}}

/* text size */
html.a11y-text-1{font-size:115%}
html.a11y-text-2{font-size:130%}
/* the hero has a fixed-size frame; give the larger copy room */
html.a11y-text-1 .hero{height:max(680px, calc(100svh - 120px))}
html.a11y-text-2 .hero{height:max(780px, calc(100svh - 120px))}

/* highlighted links */
html.a11y-links a:not(.btn):not(.a11y-btn){text-decoration:underline !important; text-decoration-thickness:2px !important; text-underline-offset:4px}
html.a11y-links a{outline:2px dashed currentColor; outline-offset:2px}
html.a11y-links a:focus-visible{outline:3px solid var(--orange)}

/* stop motion */
html.a11y-still *,html.a11y-still *::before,html.a11y-still *::after{animation-duration:0s !important; animation-delay:0s !important; animation-iteration-count:1 !important; transition:none !important; scroll-behavior:auto !important}
html.a11y-still .hs .dot::after{opacity:0}

/* high contrast, dark. The hero photo stays: its copy is already white on a dark shade. */
html.a11y-dark body,
html.a11y-dark body *:not(svg):not(svg *):not(img):not(picture):not(.hero):not(.hero *){background-color:#000 !important; background-image:none !important; color:#fff !important; border-color:#fff !important; box-shadow:none !important; text-shadow:none !important}
html.a11y-dark a:not(.btn):not(.hero *),html.a11y-dark a:not(.btn):not(.hero *) *{color:#FFE14D !important}
html.a11y-dark .btn:not(.hero *){border:2px solid #fff !important}
html.a11y-dark .ph{color:#FFE14D !important; border-color:#FFE14D !important}
html.a11y-dark img[src*="logo"]{filter:brightness(0) invert(1)}
html.a11y-dark .a11y-opts button[aria-pressed="true"]{background-color:#FFE14D !important; color:#000 !important}
html.a11y-dark .site-header{backdrop-filter:none}

/* high contrast, light */
html.a11y-light body,
html.a11y-light body *:not(svg):not(svg *):not(img):not(picture):not(.hero):not(.hero *){background-color:#fff !important; background-image:none !important; color:#000 !important; border-color:#000 !important; box-shadow:none !important; text-shadow:none !important}
html.a11y-light a:not(.btn):not(.hero *),html.a11y-light a:not(.btn):not(.hero *) *{color:#0033CC !important}
html.a11y-light .btn:not(.hero *){border:2px solid #000 !important}
html.a11y-light img[src*="logo"]{filter:brightness(0)}
html.a11y-light .a11y-opts button[aria-pressed="true"]{background-color:#000 !important; color:#fff !important}
html.a11y-light .site-header{backdrop-filter:none}

/* the services icons sit on navy tiles; keep them visible in the contrast modes */
html.a11y-dark .svc-ico,html.a11y-light .svc-ico{border:2px solid currentColor}
