/* Acessibilidade das páginas estáticas: mesmas regras do widget do Next + menu e formulário de problema */



/* Filtros de cor combinados (contraste + inverter + saturação valem juntos) */
html.a11y-high-contrast { --a11y-c: contrast(1.5); --a11y-ci: contrast(0.67); }
html.a11y-color-shift { --a11y-i: invert(1) hue-rotate(180deg); --a11y-ii: invert(1) hue-rotate(180deg); }
html.a11y-saturation-low { --a11y-s: saturate(0.4); }
html.a11y-saturation-high { --a11y-s: saturate(1.8); }
html.a11y-saturation-gray { --a11y-s: grayscale(1); }
html.a11y-high-contrast, html.a11y-color-shift, html.a11y-saturation-low, html.a11y-saturation-high, html.a11y-saturation-gray {
  filter: var(--a11y-c, ) var(--a11y-i, ) var(--a11y-s, );
}
html.a11y-high-contrast img, html.a11y-high-contrast video, html.a11y-color-shift img, html.a11y-color-shift video {
  filter: var(--a11y-ii, ) var(--a11y-ci, );
}

/* Large Cursor */
.a11y-large-cursor, .a11y-large-cursor * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M8 4l28 20H20l-4 16L8 4z' fill='black' stroke='white' stroke-width='2'/%3E%3C/svg%3E") 4 4, auto !important;
}

/* Highlight Links */
.a11y-highlight-links a, .a11y-highlight-links button { outline: 3px solid #FFD700 !important; outline-offset: 2px; }
.a11y-highlight-links a:focus, .a11y-highlight-links button:focus { outline: 3px solid #FF6B00 !important; }

/* Readable Font */
.a11y-readable-font, .a11y-readable-font * { font-family: Arial, Helvetica, 'Segoe UI', sans-serif !important; }

/* Pause Animations */
.a11y-pause-animations, .a11y-pause-animations *, .a11y-pause-animations *::before, .a11y-pause-animations *::after {
  animation-play-state: paused !important; transition-duration: 0s !important;
}

/* Hide Images */
.a11y-hide-images img, .a11y-hide-images video, .a11y-hide-images picture, .a11y-hide-images [style*="background-image"] {
  visibility: hidden !important;
}

/* Text Spacing (0-3 levels) */
.a11y-spacing-1 * { letter-spacing: 0.05em !important; word-spacing: 0.12em !important; line-height: 1.6 !important; }
.a11y-spacing-2 * { letter-spacing: 0.1em !important; word-spacing: 0.22em !important; line-height: 1.8 !important; }
.a11y-spacing-3 * { letter-spacing: 0.15em !important; word-spacing: 0.32em !important; line-height: 2.0 !important; }


/* Line Height levels */
.a11y-line-height-1 * { line-height: 1.8 !important; }
.a11y-line-height-2 * { line-height: 2.2 !important; }
.a11y-line-height-3 * { line-height: 2.6 !important; }

/* Text Align */
.a11y-text-left * { text-align: left !important; }
.a11y-text-center * { text-align: center !important; }
.a11y-text-right * { text-align: right !important; }

/* Reading Guide bar */
.a11y-reading-guide-bar {
  position: fixed;
  left: 0;
  width: 100%;
  height: 40px;
  background: rgba(255, 191, 0, 0.28);
  border-top: 2px solid rgba(255, 170, 0, 0.9);
  border-bottom: 2px solid rgba(255, 170, 0, 0.9);
  pointer-events: none;
  z-index: 10002;
  transform: translateY(-50%);
}

/* Texto maior: as páginas usam px, então escala o conteúdo (menos chat/menu) */
html.a11y-text-1 body>:not([data-a11y-skip]){zoom:1.12}
html.a11y-text-2 body>:not([data-a11y-skip]){zoom:1.25}
html.a11y-text-3 body>:not([data-a11y-skip]){zoom:1.37}
html.a11y-text-4 body>:not([data-a11y-skip]){zoom:1.5}
html.a11y-pause-animations video{visibility:visible}

.a11y-fab{position:fixed;left:20px;bottom:20px;z-index:60;width:52px;height:52px;border-radius:50%;border:2px solid #fff;background:#1f4fd1;color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px #0005;cursor:pointer}
.a11y-fab:hover{background:#173ea6}
.a11y-fab:focus-visible,.a11y-panel :focus-visible,.a11y-modal :focus-visible,.a11y-video-btn:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
.a11y-panel{position:fixed;left:20px;bottom:84px;z-index:62;width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 110px);overflow-y:auto;background:#fff;color:#14223a;border:1px solid #d5dbe1;border-radius:16px;box-shadow:0 24px 60px #0b192e40;font-family:'DM Sans',Arial,sans-serif}
.a11y-panel[hidden],.a11y-modal[hidden]{display:none}
.a11y-head{display:flex;align-items:center;gap:8px;background:#0b192e;color:#fff;padding:14px 16px;position:sticky;top:0}
.a11y-head h2{font:800 16px Manrope,Arial,sans-serif;margin:0;flex:1}
.a11y-x{background:none;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:2px 8px;border-radius:6px}
.a11y-body{padding:14px 16px 16px}
.a11y-body h3{font:800 12px Manrope,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#45536a;margin:14px 0 8px}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.a11y-opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;min-height:52px;padding:10px 12px;border:1px solid #cfd6de;border-radius:10px;background:#f6f8fa;color:#14223a;font:700 13px 'DM Sans',Arial,sans-serif;cursor:pointer}
.a11y-opt small{font-weight:600;color:#45536a;font-size:12px}
.a11y-opt.on{background:#1f4fd1;border-color:#1f4fd1;color:#fff}
.a11y-opt.on small{color:#e3eaff}
.a11y-report{width:100%;background:#101e30;color:#fff;border:0;border-radius:10px;padding:12px;font:800 14px 'DM Sans',Arial,sans-serif;cursor:pointer}
.a11y-report:hover{background:#273e61}
.a11y-report[disabled]{opacity:.6}
.a11y-reset{width:100%;margin-top:14px;background:#fff;color:#14223a;border:1px solid #9aa6b4;border-radius:10px;padding:10px;font:700 13px 'DM Sans',Arial,sans-serif;cursor:pointer}
.a11y-link{display:block;text-align:center;margin-top:10px;font-size:13px;color:#1f4fd1;text-decoration:underline}
.a11y-modal{position:fixed;inset:0;z-index:10050;background:#0b192e99;display:flex;align-items:center;justify-content:center;padding:16px}
.rp-box{width:min(460px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:#fff;color:#14223a;border-radius:16px;box-shadow:0 30px 80px #0007;font-family:'DM Sans',Arial,sans-serif}
.rp-box .rp-intro{padding:0 2px;font-size:14px;line-height:1.55;color:#3b4a5c;margin:14px 16px}
.rp-form{display:flex;flex-direction:column;gap:6px;padding:0 16px 16px}
.rp-form .rp-intro{margin:14px 0 6px}
.rp-form label{font-size:13px;font-weight:700;color:#24324a;margin-top:6px}
.rp-form select,.rp-form textarea,.rp-form input{font:500 16px 'DM Sans',Arial,sans-serif;border:1px solid #8c98a8;border-radius:8px;padding:9px 10px;color:#14223a;background:#fff;width:100%}
.rp-form [aria-invalid=true]{border-color:#b42318}
.rp-form .a11y-report{margin-top:8px}
.rp-hint{font-size:12px;color:#45536a;margin:0}
.rp-err{color:#b42318;font-size:13px;margin:4px 0 0;min-height:1em}
.rp-alt{font-size:12px;color:#45536a;margin:8px 0 0;text-align:center}
.rp-alt a{color:#1f4fd1;text-decoration:underline}
.rp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.a11y-video-btn{position:absolute;right:20px;top:110px;z-index:3;background:#0b192ecc;color:#fff;border:1px solid #ffffff66;border-radius:999px;padding:8px 14px;font:700 12px 'DM Sans',Arial,sans-serif;cursor:pointer}
.a11y-video-btn:hover{background:#0b192e}
.footer-a11y{display:inline-flex;gap:18px;flex-wrap:wrap;align-items:center}
.footer-a11y a,.footer-a11y button{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
/* Espaço para os botões flutuantes (acessibilidade e chat, fixos em todos os tamanhos de tela) não cobrirem o fim da página nem a linha de baixo do topo */
.site-footer{padding-bottom:96px}
.hero-bottom{bottom:84px}
@media(max-width:760px){.a11y-fab{left:16px;bottom:16px;width:50px;height:50px}.a11y-panel{left:8px;right:8px;bottom:76px;width:auto}.a11y-video-btn{right:16px;top:84px}body.bbc-open .a11y-fab{display:none}}
