/* prototipo/css/main.css — carregado de forma nao bloqueante
   (header e hero foram movidos para critical.css: sao "acima da dobra" e
   precisam estar prontos no primeiro paint, senao o texto do hero nasce
   do tamanho padrao do body e "estala" pro tamanho grande quando este
   arquivo chega — foi essa a causa real do CLS alto, nao as fontes) */

/* ---- Faixa de credibilidade ---- */
.credibilidade{background:var(--azul);color:var(--branco);padding-block:clamp(28px,4vw,44px)}
/* Faixa sem texto: so o respiro visual entre o heroi e a biografia. */
.credibilidade--faixa{padding-block:0;height:clamp(14px,2vw,22px)}
.credibilidade__lista{display:grid;gap:24px;text-align:center}
@media (min-width:768px){
  .credibilidade__lista{grid-template-columns:repeat(3,1fr);gap:16px}
  .credibilidade__lista li+li{border-left:1px solid rgba(255,255,255,.18)}
}
.credibilidade__lista strong{display:block;font-family:var(--display);
  font-size:clamp(26px,3.4vw,36px);color:var(--laranja);line-height:1.05;
  text-transform:uppercase}
.credibilidade__lista span{display:block;font-size:16px;opacity:.92;margin-top:6px;
  padding-inline:16px}

/* ---- Quem sou: biografia e linha do tempo ---- */
.biografia{display:grid;gap:32px;margin-top:32px}
@media (min-width:901px){.biografia{grid-template-columns:1.25fr .75fr;gap:56px;align-items:start}}
.biografia__texto p+p{margin-top:18px}
.biografia__destaque{font-weight:800;font-size:1.1em;color:var(--azul)}
.biografia__foto img{border-radius:12px}

.linhadotempo__titulo{font-family:var(--display);text-transform:uppercase;
  font-size:clamp(24px,3.4vw,34px);margin-top:clamp(48px,7vw,80px);color:var(--azul);
  font-weight:400}
.linhadotempo{list-style:none;margin:28px 0 0;position:relative;padding-left:28px;
  border-left:3px solid var(--cinza-claro)}
.linhadotempo li{position:relative;padding-bottom:32px}
.linhadotempo li::before{content:"";position:absolute;left:-38px;top:6px;
  width:15px;height:15px;border-radius:50%;background:var(--laranja);
  box-shadow:0 0 0 4px var(--branco)}
.linhadotempo__ano{display:block;font-family:var(--display);font-size:26px;
  color:var(--laranja);line-height:1;margin-bottom:6px}

/* ---- O que penso: acordeao de propostas ---- */
.secao--claro{background:var(--cinza-claro)}
.propostas__frente{font-family:var(--display);text-transform:uppercase;font-weight:400;
  font-size:clamp(22px,3.2vw,32px);color:var(--laranja-texto);
  margin-top:clamp(36px,5vw,56px);margin-bottom:18px;line-height:1.1}
.propostas__intro{max-width:62ch;margin-bottom:22px}

.proposta{background:var(--branco);border-radius:10px;margin-bottom:10px;
  border-left:5px solid var(--laranja);overflow:hidden}
.proposta summary{cursor:pointer;list-style:none;padding:19px 52px 19px 22px;
  font-weight:800;font-size:clamp(17px,2.1vw,20px);color:var(--azul);position:relative}
.proposta summary::-webkit-details-marker{display:none}
.proposta summary::after{content:"";position:absolute;right:22px;top:50%;
  width:11px;height:11px;border-right:3px solid var(--laranja);
  border-bottom:3px solid var(--laranja);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.proposta[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.proposta p{padding:0 22px 22px;max-width:66ch;color:var(--azul-claro)}

/* ---- O Sul produz ---- */
.sulproduz{background:var(--azul);color:var(--branco);
  padding-block:clamp(56px,8vw,104px)}
.sulproduz__titulo{font-size:clamp(30px,5vw,52px);color:var(--branco);margin-bottom:28px}
.sulproduz__colunas{display:grid;gap:18px;max-width:74ch}
@media (min-width:901px){.sulproduz__colunas{grid-template-columns:1fr 1fr;gap:20px 44px;max-width:none}}
.sulproduz p{font-size:clamp(17px,1.6vw,19px);opacity:.94}
.sulproduz__fecho{font-weight:800;color:var(--laranja-sobre-escuro);opacity:1;font-size:clamp(19px,2vw,23px)}
@media (min-width:901px){.sulproduz__fecho{grid-column:1/-1}}

/* ---- Noticias ---- */
.noticias__cabecalho{display:flex;align-items:baseline;justify-content:space-between;
  gap:16px;flex-wrap:wrap;margin-bottom:26px}
.noticias__todas{color:var(--laranja-texto);font-weight:800;text-decoration:none;
  border-bottom:2px solid currentColor}
.noticias__grade{display:grid;gap:22px}
@media (min-width:768px){.noticias__grade{grid-template-columns:repeat(3,1fr)}}
.cartao a{display:block;text-decoration:none;color:inherit;height:100%;
  background:var(--branco);border-radius:12px;overflow:hidden;
  box-shadow:0 2px 14px rgba(30,42,74,.09);transition:transform .18s,box-shadow .18s}
.cartao a:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(30,42,74,.15)}
.cartao img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}
.cartao__categoria{display:inline-block;margin:16px 18px 0;background:var(--laranja);
  color:var(--azul-sobre-laranja);font-size:12px;font-weight:800;letter-spacing:.07em;
  text-transform:uppercase;padding:5px 11px;border-radius:5px}
.cartao__titulo{margin:10px 18px;font-size:19px;font-weight:800;line-height:1.3}
.cartao__data{display:block;margin:0 18px 18px;font-size:14px;color:var(--cinza-texto)}

/* ---- Contato ---- */
.contato{background:var(--azul);color:var(--branco);padding-block:clamp(56px,8vw,96px)}
.contato__interno{display:grid;gap:36px}
@media (min-width:901px){.contato__interno{grid-template-columns:1fr 1fr;gap:56px;align-items:start}}
.contato h2{color:var(--branco)}
.contato p{margin-top:14px;max-width:48ch;opacity:.94}
.contato__numero{font-family:var(--display);font-size:clamp(48px,7vw,80px);
  color:var(--laranja);line-height:1;margin:18px 0 22px}

.formulario{background:var(--branco);color:var(--azul);border-radius:14px;
  padding:clamp(22px,3vw,32px)}
.formulario__titulo{font-weight:800;font-size:20px;margin:0 0 18px}
.formulario label{display:block;font-weight:600;font-size:15px;margin:14px 0 6px}
.formulario input,.formulario select{width:100%;padding:14px 15px;font:inherit;
  border:2px solid var(--cinza-claro);border-radius:8px;background:var(--branco);
  color:var(--azul);min-height:52px}
.formulario input:focus,.formulario select:focus{border-color:var(--laranja);
  outline:3px solid var(--laranja);outline-offset:1px}
.formulario button{width:100%;justify-content:center;margin-top:22px}
.formulario__aviso{font-size:13px;color:var(--cinza-texto);margin-top:14px;max-width:none;opacity:1}

/* ---- Rodape ---- */
.rodape{background:var(--cinza-claro);padding-block:44px;color:var(--azul-claro)}
.rodape__interno{display:grid;gap:20px;text-align:center;justify-items:center}
.rodape__logo{height:52px;width:auto}
.rodape__links,.rodape__redes{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:center}
.rodape a{color:var(--azul);font-weight:600;text-decoration:none;
  border-bottom:2px solid transparent;padding-block:4px}
.rodape a:hover{border-bottom-color:var(--laranja)}
.rodape__legal{font-size:13px;color:var(--cinza-texto);line-height:1.7}

/* ---- Noticias (pagina de listagem): filtros ---- */
.filtros{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 30px}
.filtros__item{background:var(--cinza-claro);color:var(--azul);font-weight:600;
  font-size:15px;padding:9px 16px;border-radius:20px;text-decoration:none}
.filtros__item:hover{background:var(--laranja);color:var(--azul-sobre-laranja)}

/* ---- Artigo (pagina de noticia individual e politica de privacidade) ---- */
.container--estreito{max-width:760px}
.artigo__titulo{font-family:var(--display);text-transform:uppercase;font-weight:400;
  font-size:clamp(28px,4.5vw,44px);line-height:1.05;margin:14px 0 8px}
.artigo__imagem{margin:24px 0}
.artigo__imagem img{border-radius:12px;width:100%;height:auto}
.artigo__corpo p+p{margin-top:18px}
.artigo__corpo h3{font-weight:800;font-size:22px;margin-top:28px}
.artigo .botao{margin-top:32px}

/* ---- Paginacao do arquivo de noticias ----
   Markup gerado pelo the_posts_pagination(), que o prototipo estatico nao
   tinha. A .screen-reader-text nao e opcional: o WordPress emite um
   <h2 class="screen-reader-text">Navegacao de posts</h2> dentro do <nav>, e
   sem esta regra o titulo aparece na tela como um texto solto no meio da
   pagina. E a classe padrao que todo tema precisa declarar. ---- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.pagination{margin-top:clamp(32px,5vw,48px)}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;
  min-width:48px;min-height:48px;padding:0 14px;border-radius:8px;
  background:var(--cinza-claro);color:var(--azul);font-weight:600;text-decoration:none}
.pagination .page-numbers:hover{background:var(--laranja);color:var(--azul-sobre-laranja)}
.pagination .page-numbers.current{background:var(--laranja);color:var(--azul-sobre-laranja)}
.pagination .dots{background:none;min-width:auto;padding:0 4px}

/* ---- Banner de consentimento (LGPD) ---- */
.consentimento{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;
  background:var(--branco);border-radius:12px;padding:20px;
  box-shadow:0 10px 34px rgba(30,42,74,.24);max-width:620px;margin-inline:auto}
.consentimento p{font-size:15px;margin-bottom:14px}
.consentimento__acoes{display:flex;gap:10px;flex-wrap:wrap}
.consentimento__acoes .botao{flex:1;justify-content:center;min-width:130px}
.consentimento .botao--branco{border:2px solid var(--cinza-claro)}

/* Campo isca do formulario: sai do fluxo visual sem usar display:none, que
   alguns robos detectam e pulam. Fica fora da ordem de tabulacao pelo
   tabindex="-1" e fora do leitor de tela pelo aria-hidden no markup. */
.formulario__isca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
