/* Floating accessibility button and menu. Bottom-left, opposite the WhatsApp button. */
.a11y-btn {
  position: fixed; left: 24px; bottom: 24px; z-index: 95;
  width: 56px; height: 56px; border-radius: 50%; border: 0; cursor: pointer;
  display: grid; place-items: center; background: #1B4F9C; color: #fff;
  box-shadow: 0 8px 24px rgba(20, 18, 15, .3); /* it floats over the page */
}
.a11y-btn svg { width: 30px; height: 30px; }
.a11y-btn:focus-visible, .a11y-panel button:focus-visible, .a11y-panel a:focus-visible { outline: 3px solid #F2B705; outline-offset: 3px; }
.a11y-panel {
  position: fixed; left: 24px; bottom: 92px; z-index: 96; width: min(320px, calc(100vw - 32px));
  background: #fff; color: #1a1a1a; border-radius: 14px; padding: 16px;
  box-shadow: 0 16px 48px rgba(20, 18, 15, .3); font: 400 15px/1.4 Heebo, Arial, sans-serif;
}
.a11y-panel[hidden] { display: none; }
.a11y-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.a11y-head h2 { margin: 0; font: 500 18px/1 Heebo, Arial, sans-serif; }
.a11y-x { width: 40px; height: 40px; border: 0; background: none; font-size: 26px; cursor: pointer; color: inherit; }
.a11y-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.a11y-grid button {
  min-height: 64px; padding: 8px; border: 1.5px solid #d7d7d7; border-radius: 10px; background: #f6f6f6; color: #1a1a1a;
  font: 600 18px/1.1 Heebo, Arial, sans-serif; cursor: pointer;
}
.a11y-grid button span { display: block; margin-top: 4px; font-size: 13px; font-weight: 400; }
.a11y-grid button[aria-pressed="true"] { background: #1B4F9C; border-color: #1B4F9C; color: #fff; }
.a11y-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; }
.a11y-foot button { min-height: 40px; padding: 0 14px; border: 1.5px solid #1a1a1a; border-radius: 999px; background: #fff; cursor: pointer; font: 500 14px Heebo, Arial, sans-serif; }
.a11y-foot a { color: #1B4F9C; font-size: 14px; }
@media (max-width: 600px) { .a11y-btn { left: 18px; bottom: 18px; width: 52px; height: 52px; } .a11y-panel { left: 16px; bottom: 80px; } }

/* ---------- The options ---------- */
html.a11y-contrast { --ground: #fff; --sand: #fff; --ink: #000; --gold-ink: #4a3920; --gold: #4a3920; }
html.a11y-contrast body { background: #fff; color: #000; }
html.a11y-contrast .hero::before { background: rgba(255, 255, 255, .9); }
html.a11y-contrast .tile::after { background: rgba(0, 0, 0, .75); }
html.a11y-links a:not(.btn):not(.a11y-btn) { text-decoration: underline !important; text-underline-offset: 3px; background: #FFF3A6 !important; color: #000 !important; }
html.a11y-font body, html.a11y-font body * { font-family: Arial, "Segoe UI", sans-serif !important; letter-spacing: normal !important; }
html.a11y-still *, html.a11y-still *::before, html.a11y-still *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
