/* ══════════════════════════════════════════════════════════════════════
   O que torna as paginas alcancaveis sem rato.

   26/09/2026, UX-03. Ficheiro proprio, e nao mais uma regra no styles.css,
   porque as cinco paginas legais nao carregam o styles.css: tem folha
   propria dentro da pagina. Duas copias da mesma regra e o caminho para
   duas regras que discordam. Uma definicao, onze paginas.

   As cores vao com valor de recurso para o caso de a pagina nao definir
   as variaveis do tema, que e o que acontece nas legais.
   ══════════════════════════════════════════════════════════════════════ */

/* O primeiro elemento focavel de cada pagina. Esta fora de vista ate
   apanhar foco, e ai desce para o canto. Sem ele, quem navega por teclado
   atravessa a navegacao toda a cada pagina antes de chegar ao conteudo. */
.skip-link{
  position:absolute; left:8px; top:-72px; z-index:9999;
  padding:11px 18px; border-radius:8px;
  background:var(--cyan,#00E5FF); color:var(--bg,#0A0C0F);
  font-family:'DM Sans',sans-serif; font-size:14px; font-weight:600;
  text-decoration:none; white-space:nowrap;
  transition:top .14s ease;
}
.skip-link:focus{ top:8px; }
.skip-link:focus-visible{ outline:2px solid var(--bg,#0A0C0F); outline-offset:2px; }

/* O alvo do salto leva tabindex="-1" para o foco ir mesmo la parar. Sem
   isso, varios browsers movem so a posicao da pagina e o Tab seguinte
   volta ao principio da navegacao, que e precisamente o que o link vinha
   evitar. O outline desenharia uma moldura a volta da pagina inteira. */
main:focus{ outline:none; }  /* pd-a11y-ok: o main nao e um controlo */

/* Visível só para leitores de ecrã. Veio do js/auth-styles.css a 26/09/2026,
   onde era a única definição desta ideia no repositório; mudou-se para cá
   porque deixou de ser só da autenticação. É a receita que funciona com
   regiões vivas: um display:none ou um visibility:hidden nunca são lidos. */
.pd-sr-only{
  position:absolute; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
