/* SITE33 (S-A, 26/10/2026): o site preenche a tela toda em qualquer computador ou celular.
   Largura fluida (sem a "coluna" de 1240px no meio de telas grandes), margens laterais que crescem com a tela,
   apresentação do início com a altura da janela e textos que aumentam em telas grandes. Carregado por último. */
.site.s2{--gut:clamp(16px,4.2vw,128px); --larg:2400px}
.site.s2 .wrap,.site.s2 .vm-wrap,.site.s2 .va-grade,.site.s2 .pg-sub-in,.site.s2 .faixa-cta-in,
.site.s2 .pg-in,.site.s2 .sim-in,.site.s2 .dep-in,.site.s2 .parc-in,.site.s2 .faixa-cta-in,
.va-grade,.faixa-cta-in-x{max-width:var(--larg); padding-left:var(--gut); padding-right:var(--gut); box-sizing:border-box}
.site.s2 .faixa-cta-in{max-width:calc(var(--larg) - 2 * var(--gut)); padding:clamp(24px,2.4vw,56px)}
.site.s2 .sec .faixa-cta-in{margin-left:auto; margin-right:auto}

/* apresentação do início: ocupa a janela (descontando faixa de aviso + menu, medidos pelo tela-cheia.js) */
.site.s2 .slides{min-height:calc(100svh - var(--topo-h,74px)); display:flex; flex-direction:column; justify-content:center; box-sizing:border-box}
.site.s2 .slides > .wrap{width:100%}
.site.s2 .slides .slide2-img,.site.s2 .slides.mv-car .slide2-img{height:clamp(300px,calc(100svh - var(--topo-h,74px) - 150px),980px)}
.site.s2 .slides .slide2,.site.s2 .slides.mv-car .slide2{gap:clamp(16px,3vw,80px)}
.site.s2 .slide2-txt h1{font-size:clamp(34px,3.3vw + 12px,104px)}
.site.s2 .slide2-txt p{font-size:clamp(17px,.55vw + 11px,28px); max-width:46ch}
.site.s2 .slides.mv-car .slide2-txt{padding-top:clamp(24px,5svh,96px)}

/* títulos e textos de seção acompanham a tela (A-/A/A+ continuam valendo por cima) */
.site.s2 .sec-tit h2{font-size:clamp(24px,1.5vw + 10px,52px)}
.site.s2 .sec-tit p{font-size:clamp(16px,.35vw + 12px,22px)}
@media (min-width:1900px){
  .site.s2 .cards{gap:28px}
  .site.s2 .card2 h3{font-size:clamp(18px,.6vw + 8px,26px)}
  .site.s2 .card2 p,.site.s2 .card2 li{font-size:clamp(15px,.3vw + 10px,19px)}
}
/* celular e tablet */
@media (max-width:1060px){
  .site.s2 .slides{min-height:0; display:block}
  .site.s2 .slides .slide2-img,.site.s2 .slides.mv-car .slide2-img{height:clamp(260px,46svh,420px)}
}
@media (max-width:640px){
  .site.s2 .slides .slide2-img,.site.s2 .slides.mv-car .slide2-img{height:clamp(220px,38svh,320px)}
}
html,body{max-width:100%; overflow-x:clip}
/* botão flutuante do WhatsApp: vira um ícone redondo depois de rolar (e sempre no celular) para não cobrir textos e totais */
.site.s2 .fab .fab-txt{display:inline-block; max-width:12em; overflow:hidden; white-space:nowrap; vertical-align:middle; transition:max-width .25s ease, opacity .2s ease}
html.rolou .site.s2 .fab .fab-txt{max-width:0; opacity:0}
html.rolou .site.s2 .fab{padding:14px; gap:0}
@media (max-width:760px){.site.s2 .fab .fab-txt{max-width:0; opacity:0} .site.s2 .fab{padding:14px; gap:0}}
@media (prefers-reduced-motion:reduce){.site.s2 .fab .fab-txt{transition:none}}

/* SITE33 (S-D/M1): e-books na Biblioteca — capa, tema, e-book do dia e mais baixados */
.site.s2 .eb-dia{display:grid; grid-template-columns:auto minmax(0,1fr) minmax(220px,300px); gap:clamp(18px,3vw,48px); align-items:center; padding:clamp(18px,2.4vw,36px); border-radius:22px; background:linear-gradient(120deg,#0F1F38,#13305a); color:#fff; margin-bottom:26px}
.site.s2 .eb-dia h2{color:#fff; margin:8px 0; font-size:clamp(24px,1.6vw + 10px,44px)}
.site.s2 .eb-dia p{color:rgba(255,255,255,.82); margin:0 0 10px; max-width:60ch}
.site.s2 .eb-dia-capa img{display:block; width:clamp(150px,13vw,260px); height:auto; border-radius:10px; box-shadow:0 18px 40px rgba(0,0,0,.45); transition:transform .25s ease}
.site.s2 .eb-dia-capa:hover img{transform:translateY(-4px) rotate(-1deg)}
.site.s2 .eb-top{list-style:none; padding:0; margin:0 0 16px; display:grid; gap:6px; color:rgba(255,255,255,.9)}
.site.s2 .eb-top li{display:flex; gap:8px; align-items:flex-start} .site.s2 .eb-top svg{color:#00A859; flex:none; margin-top:3px}
.site.s2 .eb-pg{color:rgba(255,255,255,.7); font-size:14px; align-self:center}
.site.s2 .eb-mais{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:18px; align-self:stretch}
.site.s2 .eb-mais h3{color:#fff; margin:0 0 10px; font-size:16px}
.site.s2 .eb-mais ol{margin:0; padding-left:20px; display:grid; gap:8px} .site.s2 .eb-mais a{color:#fff; font-weight:600; text-decoration:none} .site.s2 .eb-mais a:hover{text-decoration:underline}
.site.s2 .eb-mais small{display:block; color:rgba(255,255,255,.6); font-size:12px}
.site.s2 .eb-filtro{display:flex; flex-wrap:wrap; gap:8px; align-items:center}
.site.s2 .eb-filtro button.pub-cat{cursor:pointer; font:inherit}
.site.s2 .eb-busca{margin-left:auto} .site.s2 .eb-busca input{height:38px; border-radius:999px; border:1px solid var(--border); background:var(--surface); color:var(--text); padding:0 16px; min-width:min(260px,100%); font:inherit}
.site.s2 .eb-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(clamp(170px,12vw,240px),1fr)); gap:clamp(14px,1.4vw,26px); margin-top:20px}
.site.s2 .eb-card{display:flex; flex-direction:column; gap:6px; text-decoration:none; color:var(--text); background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:12px; transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease}
.site.s2 .eb-card:hover,.site.s2 .eb-card:focus-visible{transform:translateY(-4px); border-color:var(--brand); box-shadow:0 14px 30px rgba(0,0,0,.18)}
.site.s2 .eb-card[hidden]{display:none}
.site.s2 .eb-capa{display:block; aspect-ratio:260/368; border-radius:9px; overflow:hidden; background:#0F1F38}
.site.s2 .eb-capa img{width:100%; height:100%; object-fit:cover; display:block}
.site.s2 .eb-capa-txt{display:grid; place-items:center; height:100%; padding:16px; text-align:center; color:#fff; font-weight:800; font-size:18px; background:linear-gradient(160deg,#0F1F38,#058E39); aspect-ratio:260/368}
.site.s2 .eb-tema{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--brand); margin-top:6px}
.site.s2 .eb-card strong{font-size:16px; line-height:1.3}
.site.s2 .eb-desc{color:var(--muted); font-size:13.5px; line-height:1.45; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; flex:1}
.site.s2 .eb-rod{color:var(--subtle); font-size:12.5px; font-weight:600}
.site.s2 .bib-tit{margin:0 0 14px; font-size:clamp(22px,1.2vw + 10px,34px)}
.site.s2 .eb-pagina-capa img{width:min(340px,80vw); height:auto; border-radius:12px; box-shadow:0 24px 50px rgba(0,0,0,.4)}
@media (max-width:1060px){.site.s2 .eb-dia{grid-template-columns:auto minmax(0,1fr)} .site.s2 .eb-mais{grid-column:1/-1}}
@media (max-width:640px){.site.s2 .eb-dia{grid-template-columns:1fr; text-align:left} .site.s2 .eb-dia-capa img{width:150px} .site.s2 .eb-busca{margin-left:0; width:100%} .site.s2 .eb-busca input{width:100%} .site.s2 .eb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.site.s2 .eb-card,.site.s2 .eb-dia-capa img{transition:none}}

/* SITE33 (S-F): módulos novos ativados para testes */
.site.s2 .sol .tag-teste{background:rgba(242,153,0,.16); color:#B26B00; margin-left:6px}
.situacao--teste{color:#B26B00}
.site[data-theme="escuro"] .situacao--teste,.site[data-theme="escuro"] .sol .tag-teste{color:#FFB547}
@media (prefers-color-scheme: dark){.site[data-theme="auto"] .situacao--teste,.site[data-theme="auto"] .sol .tag-teste{color:#FFB547}}

/* SITE33 (S-E): página Novidades */
.site.s2 .nv-teste{margin-bottom:34px}
.site.s2 .nv-lista{list-style:none; margin:0; padding:0; display:grid; gap:0; border-left:2px solid var(--border); margin-left:8px}
.site.s2 .nv-item{display:grid; grid-template-columns:minmax(120px,170px) minmax(0,1fr); gap:20px; padding:18px 0 18px 24px; position:relative}
.site.s2 .nv-item::before{content:""; position:absolute; left:-7px; top:24px; width:12px; height:12px; border-radius:50%; background:var(--surface); border:2px solid var(--brand)}
.site.s2 .nv-atual::before{background:var(--brand)}
.site.s2 .nv-ver b{display:block; font-size:clamp(18px,.6vw + 12px,26px); font-family:'IBM Plex Mono',monospace}
.site.s2 .nv-ver small{color:var(--subtle)} .site.s2 .nv-ver .tag{display:inline-block; margin-top:6px}
.site.s2 .nv-txt h3{margin:0 0 6px; font-size:clamp(17px,.5vw + 12px,24px)}
.site.s2 .nv-txt ul{margin:0; padding-left:18px; color:var(--muted); display:grid; gap:4px}
@media (max-width:640px){.site.s2 .nv-item{grid-template-columns:1fr; gap:6px}}

/* SITE33: menu com "Licitações" cabe inteiro entre 1061 e 1500 px (ícones somem e o espaço encolhe antes de cortar o "Cadastre-se") */
@media (max-width:1500px) and (min-width:1061px){
  .site.s2 .cab2-link svg{display:none}
  .site.s2 .cab2-link{padding:8px 8px; font-size:13.5px}
  .site.s2 .cab2-in{gap:10px}
  .site.s2 .cab2-acoes .btn{padding-left:14px; padding-right:14px}
}
@media (max-width:1200px) and (min-width:1061px){ .site.s2 .cab2-link{padding:8px 6px; font-size:13px} .site.s2 .cab2-acoes .btn{padding-left:11px; padding-right:11px; font-size:13.5px} }
