/* HMLG1 A1.x — complementos da plataforma ao acesso.css da v2.1 (dono IMP-B). Carregado depois de acesso.css e casca.css. */

/* A1.1 · DEC-17/DEC-13 → R1.1 (DEC-58, G5 item 1): a faixa “Top Club 2026” saiu do topo e do pé. O que sobra em .acesso__bar é só o
   link de navegação (“Já tenho senha”, “Voltar para a entrada”) ou o “Sair” do aceite, à direita (centrado até 720 px, como na v2.1);
   sem nenhum deles a faixa fica vazia e some. A ordem de carga (depois de acesso.css) é obrigatória. */
.acesso__bar { grid-template-columns: 1fr; }
.acesso__bar > * { justify-self: end; }
@media (max-width: 720px) { .acesso__bar > * { justify-self: center; } }
.acesso__bar:empty { display: none; }
.acesso__bar:empty + .palco { padding-block-start: clamp(2.5rem, 6vw, 4.5rem); }   /* sem faixa, o respiro do topo passa para o palco */
/* R1.1 · DEC-58: o bloco de marca acompanha a altura do cartão e centra o logo na vertical (acima de 980 px, onde há duas colunas).
   O teto de altura mantém o logo à vista em cartões altos (passo 2 da senha); acesso.css já deixa o bloco “sticky”.
   `safe center` não deixa o conteúdo subir acima do bloco numa janela baixa; o navegador que não entende cai no `center` de acesso.css. */
@media (min-width: 981px) {
  .marca { align-self: stretch; max-height: calc(100vh - 2 * clamp(1rem, 6vh, 3.5rem)); align-content: safe center; }
}
/* O <img> leva width/height no HTML (reserva de espaço, CLS); o acesso.css só define a largura (min(360px, 70%)).
   Sem height:auto a altura 284 do atributo deforma o logo. Depende da ordem: carrega depois de acesso.css. */
.marca__logo { height: auto; }
.acesso__bar form { display: inline; margin: 0; }
.acesso__bar button { font: inherit; letter-spacing: inherit; text-transform: inherit; color: var(--gold);
  background: none; border: 0; padding: .35rem 0; cursor: pointer; }
.painel-acesso h1#page-title { margin-bottom: 1.6rem; }            /* = .h1--solto; o id é contrato de teste */
.painel-acesso .note { margin-bottom: 1.25rem; }
.note--erro { border-color: rgba(196, 122, 95, .45); background: rgba(196, 122, 95, .08); }
.note--erro .note__mark { border-color: var(--below); color: var(--below); }
.acesso__nota { margin-top: 1rem; }
.acesso__links { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
  margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }   /* substitui o style inline de login.html:50 */

/* A1.2 · HMLG-06/07 — etapas, dicas e balão (classes do acesso.css da v2.1). */
.painel-acesso h1#page-title + .stepper { margin-top: .25rem; }
.pw-check__nota { grid-column: 1 / -1; font-size: .72rem; color: var(--ink-3); }
.acesso__reenvio { margin-top: 1rem; }
.acesso__reenvio .btn { padding-inline: 0; }
.acesso__reenvio .btn { min-height: 44px; }   /* A1.5 rodada 1, I-1: alvo de toque de 44 px (o .btn--sm mede ~32) */

/* A1.4 · DEC-16 — aviso da repetição (v2.1: cor --below). */
.campo__dica--erro { color: var(--below); }

/* D2.1 — Aceite (HMLG-28; v2.1 aceite.html; DEC-19). `.note` e `.note--erro` já vêm de A1.1; a nota final só ganha
   a folga da v2.1 (1.25rem) depois do formulário, para não mexer no `.acesso__nota` do login e da recuperação. */
.optin__declaracao { display: block; }
.optin > .optin__pdf { grid-column: 2; justify-self: start; white-space: normal; text-align: left; }
.optin--leitura { grid-template-columns: 1fr; }
.optin--leitura > .optin__pdf { grid-column: 1; }
.optin--leitura > div { display: grid; gap: 0.2rem; font-size: 0.88rem; }   /* = .optin label (acesso.css:342) */
form + .acesso__nota { margin-top: 1.25rem; }
/* D2.2 · a lista de caixas vira grupo nomeado (fieldset + legend .sr-only) sem mudar o visual: zera borda, margem,
   recuo e a largura mínima do fieldset (o padrão do navegador estica até o conteúdo e desenha moldura). */
.optin-grupo { border: 0; margin: 0; padding: 0; min-width: 0; }
.acesso__sair { margin: 0; }
.acesso__sair button { font: inherit; letter-spacing: inherit; text-transform: inherit; color: var(--gold); background: none; border: 0; padding: 0; min-height: 44px; cursor: pointer; }
@media (max-width: 480px) {
  .optin > .optin__pdf { grid-column: 1 / -1; justify-self: stretch; }
}

/* R1.1 (DEC-58, 3c) — aceite só depois de ler: dica por documento, aviso ao tentar marcar sem ler e explicação do botão.
   O estado nunca depende só da cor: a dica muda de texto (“Abra o documento…” / “Documento aberto…”) e a caixa bloqueada
   leva `aria-disabled` (o JS a mantém focável, para o leitor de tela ler a dica). */
.optin__aviso { grid-column: 2; margin: 0; font-size: 0.78rem; line-height: 1.45; }
.optin__aviso { color: var(--below); font-weight: 600; }
.optin__aviso:empty { height: 0; margin-top: -0.85rem; }   /* região viva sempre no DOM, sem ocupar a linha do grid */
.optin input[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; }
