/* "Pular para o conteúdo": fora da tela até receber foco. */
.skip-link{position:absolute;left:12px;top:-200px;z-index:1000;padding:10px 14px;border-radius:10px;background:var(--panel);color:var(--text);border:2px solid var(--accent);font-weight:700;text-decoration:none}
.skip-link:focus{top:12px}
/* Na home o H1 vem antes da seleção gratuita: o banner, que era o primeiro bloco, ganha o espaço acima dele. */
.page-heading+.free-games{margin-top:18px}
/* Rodapé global com os dados do fornecedor (Decreto 7.962/2013), copiados dos Termos de Uso publicados. */
.site-footer{max-width:1440px;margin:0 auto;padding:18px 4vw 28px;box-sizing:border-box;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.5}
.site-footer p{margin:0 0 8px;overflow-wrap:anywhere}
.site-footer nav{display:flex;flex-wrap:wrap;gap:4px 16px}
.site-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.site-footer nav a{display:inline-flex;align-items:center;min-height:24px}
/* No celular a navegação principal é fixa embaixo: o rodapé é quem abre espaço para ela. */
@media(max-width:760px){body:not(:has(#app .chat-page))>.shell{padding-bottom:24px}.site-footer{padding:16px 18px calc(96px + env(safe-area-inset-bottom))}body.backoffice-mode .site-footer{padding-bottom:28px}}
/* O Chat ocupa a altura da janela; ali o rodapé só empurraria a área de conversa. */
body:has(#app .chat-page) .site-footer{display:none}
/* Alvos de toque de pelo menos 24 px (WCAG 2.5.8), medidos nas telas principais: atalhos soltos em legenda e o link da coluna lateral. */
.caption-action,.sidecard a{display:inline-flex;align-items:center;min-height:24px}
/* Links para Termos e Privacidade no cadastro: com a cor de destaque dos links vizinhos do cartão, não a da legenda. */
.auth-legal-links a{color:var(--accent);display:inline-flex;align-items:center;min-height:24px}
