/* Portais públicos V2 — mesma gramática visual, cores de área preservadas */
html[data-hub-page-group="portal"] body{background:var(--hub-v2-bg)!important}
html[data-hub-page-group="portal"] :where(.container,.hero-grid){max-width:1180px!important}
html[data-hub-page-group="portal"] :where(.hero){border-bottom:0!important}
html[data-hub-page-group="portal"] :where(.hero-panel,.teacher-summary,.band,.choice,.card,.teacher-tool,.teacher-priority,.notice){
  border-radius:20px!important;
  box-shadow:var(--hub-v2-shadow-sm)!important
}
html[data-hub-page-group="portal"] :where(.choice,.card,.teacher-tool,.teacher-priority){
  border-width:1px!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important
}
html[data-hub-page-group="portal"] :where(.choice,.card,.teacher-tool,.teacher-priority):hover{
  transform:translateY(-3px)!important;
  box-shadow:var(--hub-v2-shadow)!important
}
html[data-hub-page-group="portal"] :where(.btn,.card-link,.teacher-tool-link){font-weight:900!important}
html[data-hub-page-group="portal"] :where(.section,.section-sm,.teacher-section){padding-top:38px!important;padding-bottom:38px!important}
html[data-hub-page-group="portal"] :where(.choice-grid,.card-grid,.teacher-tool-grid,.teacher-priority-grid){gap:15px!important}
html[data-hub-page-group="portal"] :where(.footer,.site-footer){display:none!important}

/* Índice profissional do Portal do Professor */
.teacher-summary-nav-placeholder{height:0;pointer-events:none}
.teacher-summary-nav{
  scrollbar-width:none;
  overscroll-behavior-x:contain
}
.teacher-summary-nav::-webkit-scrollbar{display:none}
.teacher-summary-nav a[aria-current="location"]{
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
  box-shadow:0 6px 16px rgba(37,99,235,.20)
}
.teacher-summary-nav.is-floating{
  position:fixed!important;
  top:calc(var(--hub-v2-header-height) + 8px)!important;
  left:50%!important;
  z-index:2147482500!important;
  width:min(1120px,calc(100% - 40px))!important;
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  padding:8px!important;
  border:1px solid #bfdbfe!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 14px 34px rgba(11,28,60,.16)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  overflow-x:auto!important;
  transform:translateX(-50%)!important
}
.teacher-summary-nav.is-floating a{
  flex:1 0 140px!important;
  min-height:42px!important;
  padding:8px 10px!important;
  border:1px solid #bfdbfe!important;
  border-radius:11px!important;
  background:#fff;
  color:#1d4ed8
}

@media(max-width:900px){
  .teacher-summary-nav.is-floating{
    position:static!important;
    width:auto!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow:visible!important;
    transform:none!important
  }
  .teacher-summary-nav-placeholder{height:0!important}
}

@media(max-width:768px){
  html[data-hub-page-group="portal"] :where(.section,.section-sm,.teacher-section){padding-top:28px!important;padding-bottom:28px!important}
  html[data-hub-page-group="portal"] :where(.hero-grid){gap:22px!important}
  html[data-hub-page-group="portal"] :where(.choice,.card,.teacher-tool,.teacher-priority){min-height:0!important}
}

/* ======================================================================
   REORGANIZAÇÃO VISUAL — 2026-08-09
   Regras deliberadamente separadas por página. Nenhum conteúdo é ocultado.
   O rodapé V2 não é alvo deste bloco.
   ====================================================================== */

/* PORTAL DO PROFESSOR — catálogo mais legível e menos denso */
html[data-hub-page="professor"] .teacher-summary{
  padding:28px!important;
  border-color:#cbdcf5!important;
  background:linear-gradient(135deg,#f4f8ff 0%,#ffffff 74%)!important
}
html[data-hub-page="professor"] .teacher-summary-nav{
  gap:10px!important
}
html[data-hub-page="professor"] .teacher-tool-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important
}
html[data-hub-page="professor"] .teacher-tool{
  min-height:218px!important;
  padding:20px!important
}
html[data-hub-page="professor"] .teacher-tool h3{
  font-size:1.06rem!important;
  line-height:1.2!important
}
html[data-hub-page="professor"] .teacher-tool p{
  font-size:.82rem!important;
  line-height:1.55!important
}
html[data-hub-page="professor"] .teacher-tool-link{
  margin-top:auto!important;
  padding-top:14px!important
}
html[data-hub-page="professor"] .teacher-section-head{
  margin-bottom:22px!important
}
html[data-hub-page="professor"] .teacher-priority{
  min-height:188px!important
}

/* PAIS E RESPONSÁVEIS — necessidade primeiro, explicação completa depois */
html[data-hub-page="responsaveis"] main{
  display:flex!important;
  flex-direction:column!important
}
html[data-hub-page="responsaveis"] main>.hero{order:-2!important}
html[data-hub-page="responsaveis"] #orientar{order:-1!important}
html[data-hub-page="responsaveis"] #orientar .choice-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important
}
html[data-hub-page="responsaveis"] #orientar .choice{
  min-height:210px!important;
  padding:24px!important
}
html[data-hub-page="responsaveis"] #entender .card-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important
}
html[data-hub-page="responsaveis"] #entender .card{
  display:flex!important;
  flex-direction:column!important;
  min-height:300px!important;
  padding:22px!important
}
html[data-hub-page="responsaveis"] #entender .card-link{
  margin-top:auto!important;
  padding-top:15px!important
}
html[data-hub-page="responsaveis"] #rotina .steps{
  gap:18px!important
}

/* SOLUÇÕES — quatro portas claras e catálogo em três colunas */
html[data-hub-page="escolas"] body.solutions #publicos .choice-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important
}
html[data-hub-page="escolas"] body.solutions #publicos .choice{
  min-height:210px!important;
  padding:24px!important
}
html[data-hub-page="escolas"] body.solutions #servicos .card-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important
}
html[data-hub-page="escolas"] body.solutions #servicos .card{
  display:flex!important;
  flex-direction:column!important;
  min-height:300px!important;
  padding:22px!important
}
html[data-hub-page="escolas"] body.solutions #servicos .card-link{
  margin-top:auto!important;
  padding-top:15px!important
}

@media(max-width:1050px){
  html[data-hub-page="professor"] .teacher-tool-grid,
  html[data-hub-page="responsaveis"] #entender .card-grid,
  html[data-hub-page="escolas"] body.solutions #servicos .card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important
  }
}
@media(max-width:720px){
  html[data-hub-page="professor"] .teacher-tool-grid,
  html[data-hub-page="responsaveis"] #orientar .choice-grid,
  html[data-hub-page="responsaveis"] #entender .card-grid,
  html[data-hub-page="escolas"] body.solutions #publicos .choice-grid,
  html[data-hub-page="escolas"] body.solutions #servicos .card-grid{
    grid-template-columns:1fr!important
  }
  html[data-hub-page="professor"] .teacher-tool,
  html[data-hub-page="responsaveis"] #orientar .choice,
  html[data-hub-page="responsaveis"] #entender .card,
  html[data-hub-page="escolas"] body.solutions #publicos .choice,
  html[data-hub-page="escolas"] body.solutions #servicos .card{
    min-height:0!important
  }
}
