/* =================================================================
   MACH CONSÓRCIOS — ux.css
   Apoio FUNCIONAL às melhorias de usabilidade (ux.js).
   Regra: NÃO altera o design em repouso — só foco por teclado,
   autofill e comportamentos acessíveis.
   ================================================================= */

/* Região de avisos para leitor de tela (invisível) */
.ux-sr-only{position:absolute!important;inline-size:1px;block-size:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Autofill do navegador mantém o visual escuro do site (evita caixa branca/amarela) */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill{
  -webkit-text-fill-color:var(--c-white)!important;
  -webkit-box-shadow:0 0 0 1000px var(--c-ink) inset!important;
  box-shadow:0 0 0 1000px var(--c-ink) inset!important;
  caret-color:var(--c-white);
  transition:background-color 9999s ease-in-out 0s;
}

/* Foco visível SÓ para quem navega por teclado (não muda nada no mouse/touch) */
.using-keyboard a:focus-visible,
.using-keyboard button:focus-visible,
.using-keyboard .btn:focus-visible,
.using-keyboard .seg-tab:focus-visible,
.using-keyboard summary:focus-visible,
.using-keyboard input:focus-visible,
.using-keyboard select:focus-visible,
.using-keyboard textarea:focus-visible,
.using-keyboard [tabindex]:focus-visible{
  outline:2px solid var(--c-cyan);
  outline-offset:3px;
  border-radius:6px;
}
.using-keyboard .seg-tab:focus-visible{
  box-shadow:0 0 0 3px color-mix(in srgb,var(--c-cyan) 30%,transparent);
}
/* sem anel quando o foco veio de clique de mouse */
html:not(.using-keyboard) :focus:not(:focus-visible){outline:none}

/* mensagens de erro sempre acessíveis */
.field-err[role="alert"]{display:block}

/* âncoras que recebem foco via link não mostram moldura de conteúdo */
:target{outline:none}
[tabindex="-1"]:focus{outline:none}

/* impede seleção acidental de texto em botões/ícones ao dar duplo clique */
.btn,.seg-tab,.nav__burger,.to-top,.wa-float,.faq__q{-webkit-user-select:none;user-select:none}

/* respeita reduzir movimento também nos comportamentos de rolagem do JS */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

/* campo em carregamento (envio) não recebe cliques repetidos */
.btn[aria-busy="true"]{pointer-events:none}

/* aria-invalid reforça a borda de erro (mesmo antes do JS marcar a classe) */
.field input[aria-invalid="true"],
.field select[aria-invalid="true"],
.field textarea[aria-invalid="true"]{
  border-color:color-mix(in srgb,#ff5470 65%,var(--c-line));
}
