/* ── Accessibility widget ───────────────────────────────────────────────── */
.a11y-launch {
  position: fixed; bottom: 22px; z-index: 2147483000;
  width: 56px; height: 56px; border: 0; border-radius: 50%;
  background: #0e6ba8; color: #fff; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 14px rgba(0,0,0,.25); transition: background .2s ease, transform .2s ease;
}
.a11y-launch:hover { background: #0a2540; transform: scale(1.05); }
.a11y-launch:focus-visible { outline: 3px solid #ff5a4e; outline-offset: 3px; }
.a11y-pos-right .a11y-launch { right: 22px; }
.a11y-pos-left  .a11y-launch { left: 22px; bottom: 88px; } /* clear the WhatsApp button */
.a11y-pos-hidden .a11y-launch { display: none; }

.a11y-overlay {
  position: fixed; inset: 0; z-index: 2147483001;
  background: rgba(10,37,64,.45); display: none;
}
.a11y-overlay[data-open="1"] { display: block; }

.a11y-panel {
  position: fixed; top: 0; bottom: 0; z-index: 2147483002;
  width: min(370px, 100vw); background: #fff; overflow-y: auto;
  box-shadow: 0 0 40px rgba(10,37,64,.3);
  font-family: 'Assistant', -apple-system, BlinkMacSystemFont, sans-serif;
  display: none; flex-direction: column;
}
.a11y-panel[data-open="1"] { display: flex; }
.a11y-pos-right .a11y-panel { right: 0; }
.a11y-pos-left  .a11y-panel,
.a11y-pos-hidden .a11y-panel { left: 0; }

.a11y-head {
  background: #0e6ba8; color: #fff; padding: 20px 22px;
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
}
.a11y-head h2 { margin: 0; font-size: 22px; font-weight: 800; font-family: inherit; color: #fff; }
.a11y-head p { margin: 4px 0 0; font-size: 13.5px; opacity: .9; }
.a11y-close {
  flex: 0 0 auto; width: 38px; height: 38px; border: 0; border-radius: 50%;
  background: rgba(255,255,255,.2); color: #fff; cursor: pointer; font-size: 19px; line-height: 1;
  display: flex; align-items: center; justify-content: center; transition: background .2s ease;
}
.a11y-close:hover { background: rgba(255,255,255,.35); }
.a11y-close:focus-visible { outline: 3px solid #ff5a4e; outline-offset: 2px; }

.a11y-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 18px; }
.a11y-tile {
  background: #f1f5f9; border: 2px solid transparent; border-radius: 12px;
  padding: 16px 8px; cursor: pointer; font-family: inherit; color: #0a2540;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  font-size: 14px; font-weight: 600; text-align: center; transition: background .15s ease, border-color .15s ease;
}
.a11y-tile:hover { background: #e4ecf4; }
.a11y-tile:focus-visible { outline: 3px solid #0e6ba8; outline-offset: 2px; }
.a11y-tile[aria-pressed="true"] { background: #e3f2f7; border-color: #0e6ba8; }
.a11y-tile .ic { height: 26px; display: flex; align-items: center; justify-content: center; font-weight: 800; }

.a11y-reset {
  margin: 0 18px 16px; padding: 15px; border: 0; border-radius: 10px;
  background: #0e6ba8; color: #fff; font-family: inherit; font-size: 16px; font-weight: 700;
  cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 9px;
  transition: background .2s ease;
}
.a11y-reset:hover { background: #0a2540; }
.a11y-reset:focus-visible { outline: 3px solid #ff5a4e; outline-offset: 2px; }

.a11y-foot { border-top: 1px solid #e3e9f0; padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
.a11y-foot .lbl { font-size: 13.5px; color: #5b6b7f; }
.a11y-posrow { display: flex; gap: 8px; }
.a11y-posrow button {
  flex: 1; padding: 11px 6px; border: 1px solid #cfd9e4; border-radius: 8px; background: #fff;
  font-family: inherit; font-size: 14px; font-weight: 600; color: #0a2540; cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.a11y-posrow button[aria-pressed="true"] { background: #0e6ba8; border-color: #0e6ba8; color: #fff; }
.a11y-posrow button:focus-visible { outline: 3px solid #0e6ba8; outline-offset: 2px; }
.a11y-statement { text-align: center; font-size: 14px; font-weight: 600; text-decoration: underline; padding-bottom: 4px; }

/* ── Applied accessibility profiles ─────────────────────────────────────── */
html.a11y-contrast body { background: #000 !important; }
html.a11y-contrast body *:not(svg):not(path):not(.a11y-panel):not(.a11y-panel *):not(.a11y-launch):not(.a11y-launch *) {
  background-color: #000 !important; color: #fff !important; border-color: #fff !important;
}
html.a11y-contrast body a:not(.a11y-panel *) { color: #ffe14d !important; }

html.a11y-links a:not(.a11y-panel *):not(.a11y-launch) {
  text-decoration: underline !important; text-underline-offset: 3px;
  outline: 2px dashed #ff5a4e !important; outline-offset: 2px;
}
html.a11y-spacing body *:not(.a11y-panel):not(.a11y-panel *) {
  letter-spacing: .09em !important; word-spacing: .18em !important;
}
html.a11y-lineheight body *:not(.a11y-panel):not(.a11y-panel *) { line-height: 2.1 !important; }
html.a11y-noanim *, html.a11y-noanim *::before, html.a11y-noanim *::after {
  animation: none !important; transition: none !important; scroll-behavior: auto !important;
}
html.a11y-noimg body img:not(.a11y-panel img), html.a11y-noimg body video, html.a11y-noimg body iframe { visibility: hidden !important; }
html.a11y-noimg body [class*="-bg"], html.a11y-noimg body .m-bg, html.a11y-noimg body .lead-bg { display: none !important; }
html.a11y-dyslexia body *:not(.a11y-panel):not(.a11y-panel *) {
  font-family: 'Tahoma', 'Verdana', 'Arial', sans-serif !important;
  letter-spacing: .05em !important; word-spacing: .12em !important;
}
html.a11y-cursor, html.a11y-cursor body *:not(.a11y-panel):not(.a11y-panel *) {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath d='M5 2l14 9-6.2 1.2L15 19l-2.6 1-2.2-6.6L5 17V2z' fill='%230a2540' stroke='%23fff' stroke-width='1.2'/%3E%3C/svg%3E") 4 2, auto !important;
}
html.a11y-grayscale body { filter: grayscale(1) !important; }
html.a11y-align body p:not(.a11y-panel p), html.a11y-align body li { text-align: justify !important; }
