/* P1.2.4.3.23.2.1 — Contrato territorial + consistência visual */

.p2321-main{padding-top:26px!important}
.p2321-hero{padding-top:26px!important}
.p2321-filter{padding:28px}
.p2321-filter__head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.p2321-filter__head h2{font-size:clamp(2rem,4vw,3.2rem);margin:7px 0 9px;letter-spacing:-.04em}
.p2321-filter__head p{color:var(--nexa-muted);margin:0}
.p2321-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px;margin:24px 0}
.p2321-grid label{font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;color:#afbdd0;font-weight:800}
.p2321-grid select,.p2321-search input,.p2321-municipal-filters select{
    width:100%;margin-top:7px;min-height:50px;border-radius:14px;padding:12px 14px;
    color:#f5f8fc;background:#091a2e;border:1px solid #344861;outline:0
}
.p2321-grid select:focus,.p2321-search input:focus,.p2321-municipal-filters select:focus{
    border-color:rgba(97,220,243,.65);box-shadow:0 0 0 4px rgba(97,220,243,.08)
}
.p2321-search{display:grid;grid-template-columns:1fr auto;gap:12px}
.p2321-search button,.p2321-municipal-filters button{
    border:1px solid #40546e;background:#172a43;color:#edf3fb;border-radius:14px;
    padding:0 18px;font-weight:800;cursor:pointer
}
.p2321-meta{display:flex;justify-content:space-between;gap:15px;color:#91a5bf;font-size:.84rem;margin:14px 0}
.p2321-school{grid-template-columns:minmax(310px,1.55fr) minmax(230px,.9fr) 150px 160px 135px}
.p2321-school strong{display:block}.p2321-school small{display:block;color:#95a7bf;margin-top:3px}

/* Página municipal P22 convertida para a identidade escura, sem cards claros com texto branco. */
body.nexa-ideb .page{color:#f4f7fb}
body.nexa-ideb .page .hero p,
body.nexa-ideb .page .section__header p,
body.nexa-ideb .page .method p,
body.nexa-ideb .page .metric span,
body.nexa-ideb .page .metric small,
body.nexa-ideb .page .stage-card small,
body.nexa-ideb .page .benchmark-card span,
body.nexa-ideb .page .benchmark-card small{color:#aebbd0}

body.nexa-ideb .page .search-panel,
body.nexa-ideb .page .metric,
body.nexa-ideb .page .stage-card,
body.nexa-ideb .page .benchmark-card{
    background:linear-gradient(180deg,rgba(43,59,89,.94),rgba(25,40,63,.97));
    color:#f4f7fb;border:1px solid rgba(255,255,255,.10);
    box-shadow:0 22px 60px rgba(0,0,0,.14)
}
body.nexa-ideb .page .search-box input{background:#091a2e;color:#f4f7fb;border-color:#344861}
body.nexa-ideb .page .results{background:#0d1c30;border-color:#344861}
body.nexa-ideb .page .result-item{color:#f4f7fb;border-color:rgba(255,255,255,.08)}
body.nexa-ideb .page .result-item:hover{background:rgba(255,255,255,.05)}
body.nexa-ideb .page .stage-card dl div{border-color:rgba(255,255,255,.08)}
body.nexa-ideb .page .stage-card dt{color:#aebbd0}

/* filtros avançados na página de municípios */
.p2321-municipal-filters{
    display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;
    margin-top:14px
}
.p2321-municipal-filters label{
    font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;color:#52627d;font-weight:800
}
body.nexa-ideb .p2321-municipal-filters label{color:#afbdd0}
.p2321-municipal-filters button{min-height:50px;margin-top:7px}

@media(max-width:1100px){
    .p2321-grid{grid-template-columns:repeat(2,1fr)}
    .p2321-school{grid-template-columns:1fr 220px 130px}
    .p2321-school>*:nth-child(4),.p2321-school>*:nth-child(5){display:none}
}
@media(max-width:680px){
    .p2321-grid,.p2321-municipal-filters{grid-template-columns:1fr}
    .p2321-search{grid-template-columns:1fr}
    .p2321-meta{display:block}
    .p2321-school{grid-template-columns:1fr 100px}
    .p2321-school>*:nth-child(2){display:none}
}
