/* Cabeçalho único do site (22/10/2026, titular: "o cabeçalho tem que seguir o padrão, todas as páginas").
   Marcação: integra/partes/cabecalho.html (carimbada por tools/cabecalho_unico.py; o build recusa página fora do padrão).
   Comportamento: js/cabecalho.js. Este arquivo é a única fonte do estilo do cabeçalho claro (porte leve da assinatura).
   A variante .cab-capa (página inicial, sobre a foto de abertura) mantém o desenho aprovado da capa, no <style> da eng.html. */

.cab:not(.cab-capa){position:relative;z-index:40;background:#FFFFFF;color:var(--noite,#10202E);border-bottom:1px solid var(--fio,#E2E7EC)}
.cab:not(.cab-capa) .largura{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:24px;height:var(--topo,60px);min-height:0;padding-block:0;
  box-sizing:border-box;max-width:1320px;margin-inline:auto;padding-inline:clamp(16px,3.2vw,48px)}   /* mesma largura em todas as páginas */
.cab:not(.cab-capa) .assin{--a-h:26px;--d-fs:9.5px;--a-gap:10px}
.cab:not(.cab-capa) .assin-link{flex:none;display:inline-flex}
.cab:not(.cab-capa) .menu{display:flex;align-items:center;gap:clamp(16px,2vw,30px);
  position:static;inset:auto;min-width:0;padding:0;border-radius:0;background:none;box-shadow:none;animation:none}   /* .menu também é o menu do reprodutor (aluno.css) */
.cab:not(.cab-capa) .menu a{position:relative;font-family:var(--texto,'Red Hat Text',sans-serif);font-size:14px;font-weight:500;color:var(--noite,#10202E);text-decoration:none;padding:8px 0;white-space:nowrap}
.cab:not(.cab-capa) .menu a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:var(--laranja,#CC4A14);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.cab:not(.cab-capa) .menu a:hover::after,.cab:not(.cab-capa) .menu a[aria-current]::after{transform:scaleX(1)}
.cab:not(.cab-capa) .menu a[aria-current]{font-weight:700}
.cab:not(.cab-capa) .menu .reg{font-size:.55em;vertical-align:super;line-height:0;margin-left:.04em}
.cab:not(.cab-capa) .topo-acoes{display:flex;align-items:center;gap:12px}
/* as duas portas de entrada, com o nome de cada uma (titular, 22/10/2026): links simples antes de "Solicitar proposta" */
.cab:not(.cab-capa) .topo-acoes>a:not(.btn){font-family:var(--texto,'Red Hat Text',sans-serif);font-size:13px;font-weight:500;color:var(--noite,#10202E);text-decoration:none;white-space:nowrap;padding:8px 0;margin-right:4px}
.cab:not(.cab-capa) .topo-acoes>a:not(.btn):hover{text-decoration:underline;text-decoration-color:var(--laranja,#CC4A14);text-decoration-thickness:1.5px;text-underline-offset:5px}
.cab:not(.cab-capa) .topo-acoes>a:not(.btn)+a.btn{margin-left:8px}
.cab:not(.cab-capa) .btn,.cab-menu:not(.cab-capa) .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;font-family:var(--texto,'Red Hat Text',sans-serif);font-size:14px;font-weight:700;line-height:1;text-decoration:none;border:1px solid transparent;border-radius:var(--raio,8px);cursor:pointer;white-space:nowrap}
.cab:not(.cab-capa) .btn:focus-visible,.cab-menu:not(.cab-capa) .btn:focus-visible{outline:0;box-shadow:0 0 0 3px #FFFFFF,0 0 0 5px var(--laranja,#CC4A14)}
.cab:not(.cab-capa) .btn-laranja,.cab-menu:not(.cab-capa) .btn-laranja{background:var(--laranja,#CC4A14);color:#FFFFFF;box-shadow:0 1px 2px rgba(16,32,46,.12),0 6px 16px -8px rgba(204,74,20,.6)}
.cab:not(.cab-capa) .btn-laranja:hover,.cab-menu:not(.cab-capa) .btn-laranja:hover{background:#A83C0E}
.cab:not(.cab-capa) .btn-claro,.cab-menu:not(.cab-capa) .btn-claro{background:#FFFFFF;color:var(--noite,#10202E);border-color:var(--fio-2,#D3DAE1)}
.cab:not(.cab-capa) .btn-claro:hover,.cab-menu:not(.cab-capa) .btn-claro:hover{border-color:var(--noite,#10202E)}
.cab:not(.cab-capa) .so-cel{display:none}
/* abaixo de 1280 px o menu e as portas vão para o painel "Menu"; "Solicitar proposta" continua na barra até 1080 px */
@media (max-width:1279px){
  .cab:not(.cab-capa) .menu{display:none}
  .cab:not(.cab-capa) .so-cel{display:inline-flex}
  .cab:not(.cab-capa) .topo-acoes>a:not(.btn){display:none}
}
@media (max-width:1080px){
  .cab:not(.cab-capa) .topo-acoes .so-desk{display:none}
}
/* computador de 1280 a 1365 px: o menu e as portas apertam um pouco para o botão nunca sair da linha */
@media (min-width:1280px) and (max-width:1365px){
  .cab:not(.cab-capa) .menu{gap:clamp(12px,1.3vw,18px)}
  .cab:not(.cab-capa) .menu a{font-size:13.5px}
  .cab:not(.cab-capa) .largura{gap:16px}
  .cab:not(.cab-capa) .topo-acoes{gap:10px}
}
@media (max-width:600px){.cab:not(.cab-capa) .largura{height:var(--topo,56px)}}

/* menu do celular: painel claro */
.cab-menu:not(.cab-capa){position:fixed;inset:0;z-index:80;background:#FFFFFF;color:var(--noite,#10202E);overflow-y:auto;overscroll-behavior:contain;transition:opacity .25s ease,transform .25s ease}
.cab-menu[hidden]{display:none}
.cab-menu:not(.cab-capa).entrando{opacity:0;transform:translateY(-10px)}
.cab-menu:not(.cab-capa)>.largura{box-sizing:border-box;max-width:1320px;margin-inline:auto;padding-inline:clamp(16px,3.2vw,48px)}
.cab-menu:not(.cab-capa) .assin{--a-h:26px;--d-fs:9.5px;--a-gap:10px}
.cab-menu:not(.cab-capa) .menu-cel-topo{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--topo,56px);border-bottom:1px solid var(--fio,#E2E7EC)}
.cab-menu:not(.cab-capa) nav{display:grid;margin-top:8px}
.cab-menu:not(.cab-capa) nav a{display:flex;align-items:center;min-height:56px;font-family:var(--titulo,'Red Hat Display',sans-serif);font-weight:300;font-size:24px;letter-spacing:-.01em;color:var(--noite,#10202E);text-decoration:none;border-bottom:1px solid var(--fio,#E2E7EC)}
.cab-menu:not(.cab-capa) nav a[aria-current]{color:var(--laranja-esc,#A83C0E)}
.cab-menu:not(.cab-capa) nav .reg{font-size:.5em;vertical-align:super;line-height:0}
.cab-menu:not(.cab-capa) > .largura > .btn-laranja{margin-top:22px;width:100%;height:48px;font-size:16px}
.cab-menu:not(.cab-capa) .menu-cel-grupo{margin:28px 0 32px;padding-top:16px;border-top:1px solid var(--fio,#E2E7EC)}
.cab-menu:not(.cab-capa) .menu-cel-grupo p{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--meta,#4B5967)}
.cab-menu:not(.cab-capa) .menu-cel-grupo ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:2px}
.cab-menu:not(.cab-capa) .menu-cel-grupo li{display:flex;align-items:center;gap:10px;min-height:32px;color:var(--texto2,#2C3A47);font-size:14px}
.cab-menu:not(.cab-capa) .menu-cel-grupo li span{width:10px;height:10px;display:block;flex:none;border-radius:2px}
body.menu-aberto{overflow:hidden}

/* faixa de apoio logo abaixo do cabeçalho (checkout, área do aluno, aula, portal): o que é próprio daquela página */
.sub-topo{background:var(--nevoa-2,#F6F8FA);border-bottom:1px solid var(--fio,#E2E7EC)}
.sub-topo>.largura{display:flex;align-items:center;justify-content:space-between;gap:4px 20px;min-height:32px;flex-wrap:wrap;padding-block:0;font-size:12.5px}
.sub-topo .topo-meio,.sub-topo .previa{flex:1 1 auto;display:flex;justify-content:flex-start;min-width:0}
.sub-topo .topo-dir{display:flex;align-items:center;gap:18px;flex:none;margin-left:auto}
.sub-topo a.volta-site,.sub-topo .sair{display:inline-flex;align-items:center;gap:8px;min-height:30px;font-size:13px;font-weight:500;color:var(--noite,#10202E);text-decoration:none;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.sub-topo a.volta-site::before{content:"\2190";color:var(--laranja-esc,#A83C0E);transition:transform .2s ease}
.sub-topo a.volta-site:hover::before{transform:translateX(-3px)}
.sub-topo a.volta-site:hover,.sub-topo .sair:hover{text-decoration:underline;text-decoration-color:var(--laranja,#CC4A14)}
.sub-topo .sair .ico{width:16px;height:16px;color:var(--laranja-esc,#A83C0E)}
.sub-topo .sair[hidden]{display:none}
/* "Pular para o conteúdo" fora do foco: inteiro acima da página, mesmo com a letra do sistema ampliada (varredura do celular, 22/10/2026) */
.pular:not(:focus){top:auto;bottom:100%}
/* celular estreito (até 400 px): marca e botão "Menu" cabem mesmo com a letra do sistema ampliada (varredura do celular, 22/10/2026) */
@media (max-width:400px){.cab:not(.cab-capa) .largura{gap:10px}.cab:not(.cab-capa) .topo-acoes .btn{padding:0 12px}}
