/* Accessibility menu (a11y.js). Display settings are classes on <html>;
   size and filters apply to every page part except the menu itself. */
:root{--a11y-zoom:1;--a11y-contrast:contrast(1);--a11y-gray:grayscale(0)}

/* Settings */
html.a11y-zoom body>:is(header,main,footer){zoom:var(--a11y-zoom)}
html.a11y-contrast{--a11y-contrast:contrast(1.45)}
html.a11y-gray{--a11y-gray:grayscale(1)}
html.a11y-filter body>:not(.a11y){filter:var(--a11y-contrast) var(--a11y-gray)}
html.a11y-links a{text-decoration:underline!important;text-underline-offset:3px!important;text-decoration-thickness:2px!important;font-weight:700!important}
html.a11y-font body *:not(svg):not(svg *){font-family:Arial,Helvetica,sans-serif!important}
html.a11y-spacing body :is(p,li,label,summary,td,th,dd,small,span,a){line-height:2!important;letter-spacing:.04em!important;word-spacing:.14em!important}
html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 42 42'%3E%3Cpath d='M4 3l14 34 5-14 14-5z' fill='%23000' stroke='%23fff' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E") 4 3,auto!important}
html.a11y-focus :focus{outline:3px solid #ffbf00!important;outline-offset:3px!important;box-shadow:0 0 0 7px #0a2348!important}
html.a11y-still *,html.a11y-still *:before,html.a11y-still *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* Floating button, above the WhatsApp button */
.a11y{position:fixed;left:25px;bottom:100px;z-index:60;direction:rtl;font-family:'Heebo',Arial,sans-serif}
.a11y-launch{position:relative;display:grid;place-items:center;width:52px;height:52px;padding:0;border:2px solid #fff;border-radius:50%;background:#0a2348;color:#fff;cursor:pointer;box-shadow:0 8px 22px #0a234840;transition:transform .2s,background .2s}
.a11y-launch:hover{background:#0b5f99;transform:scale(1.05)}
.a11y-launch:focus-visible{outline:3px solid #ffbf00;outline-offset:3px}
.a11y-launch svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.a11y-launch svg circle{fill:currentColor;stroke:none}
.a11y.has-settings .a11y-launch:after{content:'';position:absolute;top:1px;right:1px;width:12px;height:12px;border-radius:50%;background:#26b4fa;border:2px solid #fff}

/* Panel */
.a11y-panel{position:absolute;left:0;bottom:64px;width:330px;max-height:calc(100vh - 190px);overflow:auto;padding:18px;border-radius:14px;background:#fff;color:#0a2348;border:1px solid #cfe2f0;box-shadow:0 18px 50px #0a234847;text-align:right;line-height:1.5}
.a11y-panel[hidden]{display:none}
.a11y-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.a11y-head h2{margin:0;font-size:20px;font-weight:700;color:#0a2348;letter-spacing:0;line-height:1.3}
.a11y-close{width:40px;height:40px;border:0;border-radius:50%;background:#eef6fc;color:#0a2348;font-size:24px;line-height:1;cursor:pointer}
.a11y-size{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:12px;border-radius:10px;background:#eef6fc;font-size:15px}
.a11y-size span{flex:1;font-weight:500}
.a11y-size button{min-width:44px;height:40px;border:1px solid #9fc3de;border-radius:8px;background:#fff;color:#0a2348;font:700 15px 'Heebo',Arial,sans-serif;cursor:pointer}
.a11y-size button:disabled{opacity:.4;cursor:default}
.a11y-size output{min-width:46px;text-align:center;font-weight:500}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.a11y-toggle{min-height:52px;padding:8px 10px;border:1px solid #c4dbec;border-radius:10px;background:#fff;color:#0a2348;font:500 14px/1.35 'Heebo',Arial,sans-serif;text-align:center;cursor:pointer;transition:background .2s,border-color .2s}
.a11y-toggle:hover{border-color:#0b5f99}
.a11y-toggle[aria-pressed="true"]{background:#0a2348;border-color:#0a2348;color:#fff}
.a11y-toggle[aria-pressed="true"]:before{content:'✓ '}
.a11y-panel button:focus-visible,.a11y-panel a:focus-visible{outline:3px solid #0b6fb3;outline-offset:2px}
.a11y-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid #dce8f3;font-size:14px}
.a11y-reset{min-height:44px;padding:0 14px;border:1px solid #c4dbec;border-radius:8px;background:#fff;color:#0a2348;font:500 14px 'Heebo',Arial,sans-serif;cursor:pointer}
.a11y-foot a{color:#0b5f99;text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}

@media(max-width:600px){
  .a11y{left:16px;bottom:80px}
  .a11y-launch{width:46px;height:46px}
  .a11y-launch svg{width:25px;height:25px}
  .a11y-panel{position:fixed;left:12px;right:12px;bottom:136px;width:auto;max-height:calc(100vh - 160px)}
}
@media print{.a11y{display:none}}
