/* FITZONE - Etapa 1: acessibilidade e padrao de navegacao. */
/* Link visivel apenas quando recebe foco pelo teclado. */
.fitzone-pular-conteudo {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 100000;
    transform: translateY(-180%);
    display: inline-block;
    padding: 12px 18px;
    border: 2px solid #a3e635;
    border-radius: 12px;
    background: #101a0c;
    color: #f7fff3;
    font: 700 15px/1.4 Inter, Arial, sans-serif;
    text-decoration: none;
    box-shadow: 0 4px 22px rgba(0, 0, 0, .5);
}
.fitzone-pular-conteudo:focus,
.fitzone-pular-conteudo:focus-visible {
    transform: translateY(0);
    outline: 3px solid #f7fff3;
    outline-offset: 3px;
}
/* O destino do atalho recebe foco programatico, sem borda sobre toda a pagina. */
main[tabindex="-1"]:focus { outline: none; }
/* Foco legivel no menu e nos links do perfil, incluindo tema claro. */
.topo.fitzone-neon .menu a:focus-visible,
.topo.fitzone-neon .btn-perfil:focus-visible,
.cabecalho .nav a:focus-visible,
.cabecalho .perfil:focus-visible,
.fitzone-subnav a:focus-visible {
    outline: 3px solid #a3e635;
    outline-offset: 4px;
    border-radius: 8px;
}
/* Subnavegacao consistente, visivel nas tres paginas sociais. */
.fitzone-subnav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 19px;
    padding: 9px;
    border: 1px solid rgba(163, 230, 53, .28);
    border-radius: 14px;
    background: rgba(96, 138, 51, .08);
}
.fitzone-subnav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 17px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    text-decoration: none;
    color: inherit;
    transition: background-color .2s, color .2s, border-color .2s;
}
.fitzone-subnav a:hover { border-color: #a3e635; }
.fitzone-subnav a[aria-current="page"] {
    color: #15250b;
    background: #a3e635;
    border-color: #a3e635;
}
/* Preserva exatamente o peso visual do numero depois de trocar h1 por p. */
#peso-atual.destaque-verde { font-size: 2em; font-weight: 700; }
/* Legibilidade: campos explicativos e textos de uso continuo eram 10-11px. */
.pagina-feed .campo-form small,
.pagina-feed .termo,
.pagina-feed .autor small,
.pagina-feed .comentario small,
.pagina-feed .comentario .autor-comentario,
.pagina-feed .rodape,
.pagina-comunidade .pessoa small,
.pagina-comunidade .galeria-feed-perfil .metadados-feed,
.container .campo small,
.container .termos,
.container .intro-nota,
.container .autor-info small,
.container .comentario strong,
.container .comentario small,
.container .comentario p {
    font-size: 13px;
}
.pagina-feed .sobrelinha,
.container .eyebrow,
.container .slide-conteudo .rotulo,
.container .slide-conteudo .autor,
.container .foto .tipo {
    font-size: 12px;
}
.container .btn-pequeno,
.container .mini-botao { font-size: 13px; min-height: 44px; }
.pagina-treinos .fitzone-tutorial-estado,
.pagina-treinos .fitzone-tutorial[open] .fitzone-tutorial-estado::after,
.pagina-treinos .fitzone-tutorial-figura figcaption { font-size: 13px; }
@media (max-width: 700px) {
    .pagina-treinos .fitzone-tutorial-figura figcaption { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .fitzone-subnav a { transition: none; }
}
