/*
 * Módulo 2 — Entrega 2.3
 * Camada final e incremental do website público.
 * Não substitui páginas, conteúdos ou componentes existentes.
 */

:root{
  --pf23-navy:#071a33;
  --pf23-gold:#bf9638;
  --pf23-gold-soft:#f6edd3;
  --pf23-text:#17273d;
  --pf23-muted:#6d7889;
  --pf23-line:#e2e7ed;
}

/* Acessibilidade: foco visível e consistente */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid rgba(191,150,56,.52);
  outline-offset:3px;
}

/* Evita movimentos excessivos para quem solicita redução */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}

/* Link para pular diretamente ao conteúdo */
.public23-skip{
  position:fixed;
  top:8px;
  left:8px;
  z-index:99999;
  padding:11px 15px;
  border-radius:10px;
  color:var(--pf23-navy);
  background:#fff;
  box-shadow:0 12px 34px rgba(7,26,51,.18);
  font-weight:800;
  transform:translateY(-150%);
  transition:transform .18s ease;
}
.public23-skip:focus{transform:translateY(0)}

/* Padronização discreta de imagens públicas */
main img:not([loading]){
  content-visibility:auto;
}

/* Conteúdo textual mais legível */
main :where(p,li){
  text-wrap:pretty;
}
main :where(h1,h2,h3){
  text-wrap:balance;
}

/* Campos públicos com área de toque confortável */
main :where(input,select,textarea,button){
  min-height:44px;
}

/* Mensagens acessíveis */
.public23-status{
  position:fixed;
  left:50%;
  bottom:18px;
  z-index:5000;
  max-width:min(560px,calc(100% - 28px));
  padding:13px 17px;
  border:1px solid var(--pf23-line);
  border-radius:13px;
  color:var(--pf23-text);
  background:#fff;
  box-shadow:0 16px 45px rgba(7,26,51,.15);
  transform:translate(-50%,130%);
  opacity:0;
  pointer-events:none;
  transition:.22s ease;
}
.public23-status.is-visible{
  transform:translate(-50%,0);
  opacity:1;
}

/* Rodapé e divisores mais consistentes sem mudar sua estrutura */
.site-footer{
  border-top:1px solid rgba(191,150,56,.22)!important;
}

/* Imagens abaixo da dobra recebem renderização progressiva */
@supports(content-visibility:auto){
  main section:not(:first-child){
    content-visibility:auto;
    contain-intrinsic-size:1px 720px;
  }
}

/* Tabelas públicas não quebram o celular */
.public-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

@media(max-width:720px){
  main :where(input,select,textarea,button,.btn-premium){
    font-size:16px; /* evita zoom automático em iOS */
  }

  .section{
    scroll-margin-top:120px;
  }
}
