/* ==========================================================================
   v6-base · camada v6 (30/09/2026) · sistema de design global do ensino. (Professor Ulysses)
   Carregada DEPOIS do style.css e ANTES de v6-catalogo, v6-material, v6-funil e v6-atividades:
   as outras camadas herdam tudo daqui e podem sobrepor com a mesma especificidade.
   Direção de arte: editorial acadêmico, sóbrio e caro. Fraunces nos títulos, Source Sans 3 no texto,
   papel quente (claro) e marinho profundo (escuro), um único acento por tela, cartão plano com cabelo de 1 px.

   TOKENS NOVOS (todos os --e-* antigos continuam valendo; estes são extras e opcionais)
     Tipografia (fluida, razão ~1,2)  --e-t-1 (13-14 px, legenda) ... --e-t-3 (17-19, corpo) ... --e-t-5 (24-31, h3)
                                      --e-t-6 (30-42, h2) --e-t-7 (36-56, h1) --e-t-8 (42-84, display do hero)
     Espaço (grade de 8 px)           --e-s-1 .25rem  -s-2 .5rem  -s-3 .75rem  -s-4 1rem  -s-5 1.5rem  -s-6 2rem  -s-7 3rem  -s-8 4rem  -s-9 6rem
                                      --e-secao-y (respiro vertical de seção: 3rem no celular, 6rem em tela grande)  --e-gap-grade
     Raios                            --e-r-1 6px  --e-r-2 10px  --e-r-3 14px (cartão)  --e-r-4 20px (cartão grande)  --e-r-pilula
     Cabelo (borda de 1 px)           --e-cabelo (sutil)  --e-cabelo-forte (contorno de botão e de campo secundário)
     Sombra                           --e-sombra-1 (repouso)  --e-sombra-2 (hover do cartão)  --e-sombra-3 (menu e diálogo)
     Movimento                        --e-dur-1 150ms  --e-dur-2 220ms  --e-dur-3 480ms  --e-ease
     Rótulo                           --e-eyebrow (ouro-texto; na trilha vira o acento da trilha)

   CLASSES REUTILIZÁVEIS (documentadas aqui; use em vez de recriar)
     .e-eyebrow        rótulo pequeno em caixa alta (tracking .12em) acima de um título. (.e-sobrelinha é o mesmo)
     .e-titulo-secao   título de seção (h2) na escala t-6, tracking negativo
     .e-lede           parágrafo de abertura (t-4, tom secundário, até 56ch)
     .e-secao          bloco com respiro vertical de --e-secao-y.  Variantes: .e-secao--faixa (fundo alternado, com cabelo em cima e embaixo),
                       .e-secao--compacta (metade do respiro), .e-secao--sem-topo (sem respiro em cima)
     .e-secao__cabeca  cabeça de seção: à esquerda .e-eyebrow + .e-titulo-secao (+ <p>), à direita um .e-link-seta
     .e-link-seta      link "Ver todos →" com seta que desliza (alvo de 44 px)
     .e-btn / .e-btn--contorno / .e-btn--ouro / .e-btn--acento   botões já existentes, refinados. .e-btn--sm = 44 px, mais compacto
     .e-botao-fantasma botão-pílula de contorno, para ações terciárias (voltar, limpar, filtrar)
     .e-chip           (existente) pílula clicável de 44 px, para filtro e link
     .e-chip--meta     rótulo ESTÁTICO pequeno (28 px) para metadado de cartão: série, disciplina, tipo, "PDF · 12 páginas". Aceita um svg de 1em
     .e-superficie-plana  cartão plano: borda de 1 px, raio 14, sem sombra; com a variante .e-superficie-plana--link ganha sombra e leve subida no hover
     .e-icone-caixa    quadrado de 48 px com ícone e fundo do acento a 12%
     .e-linha-fina     divisor de 1 px
     .e-anim .e-anim--2 .. --5   entrada suave ao carregar (opacidade + 16 px), com atraso escalonado; desligada em prefers-reduced-motion
     .e-revela         entrada suave ao rolar (só onde há animation-timeline); sem suporte, fica visível
   INÍCIO "matéria primeiro" (front-page.php): .e-hero--materias, .e-materias__grade > .e-materia-card (cartão grande por matéria; o numeral vem de data-n),
   .e-codigo-faixa (faixa "Já tenho o código da turma"), .e-atalhos. A página da matéria e o catálogo são da frente Catálogo.
   FOCO: o anel de foco (3px, style.css) agora respeita o raio do componente: declare --e-raio-foco no componente (ex.: .meu-cartao{--e-raio-foco:var(--e-r-3)}).
   MODIFICADORES DE PÁGINA (page.php): article.e-pagina ganha .e-pagina--funil (página com [ensino_entrar]) e .e-pagina--praticar
   (página com [ensino_praticar]); body ganha .e-trilha-escola / .e-trilha-adultos. main ganha .e-principal--inicio na página inicial.
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  --e-t-1:clamp(.8125rem,.79rem + .1vw,.875rem);
  --e-t-2:clamp(.9375rem,.91rem + .12vw,1rem);
  --e-t-3:clamp(1.0625rem,1rem + .3vw,1.1875rem);
  --e-t-4:clamp(1.25rem,1.14rem + .5vw,1.5rem);
  --e-t-5:clamp(1.5rem,1.3rem + .9vw,1.9375rem);
  --e-t-6:clamp(1.875rem,1.5rem + 1.6vw,2.625rem);
  --e-t-7:clamp(2.25rem,1.7rem + 2.4vw,3.5rem);
  --e-t-8:clamp(2.625rem,1.5rem + 4.8vw,5.25rem);
  --e-s-1:.25rem;--e-s-2:.5rem;--e-s-3:.75rem;--e-s-4:1rem;--e-s-5:1.5rem;--e-s-6:2rem;--e-s-7:3rem;--e-s-8:4rem;--e-s-9:6rem;
  --e-secao-y:clamp(3rem,2.1rem + 3.6vw,6rem);
  --e-gap-grade:clamp(1rem,.8rem + .8vw,1.5rem);
  --e-r-1:6px;--e-r-2:10px;--e-r-3:14px;--e-r-4:20px;--e-r-pilula:999px;
  --e-cabelo:color-mix(in srgb,var(--e-tinta) 11%,transparent);
  --e-cabelo-forte:color-mix(in srgb,var(--e-tinta) 22%,transparent);
  --e-sombra-1:0 1px 2px rgba(21,49,75,.06);
  --e-sombra-2:0 1px 2px rgba(21,49,75,.06),0 16px 34px -18px rgba(21,49,75,.34);
  --e-sombra-3:0 2px 6px rgba(21,49,75,.08),0 30px 60px -28px rgba(21,49,75,.5);
  --e-sombra-cab:0 10px 28px -18px rgba(21,49,75,.32);
  --e-dur-1:150ms;--e-dur-2:220ms;--e-dur-3:480ms;
  --e-ease:cubic-bezier(.22,.7,.2,1);
  --e-eyebrow:var(--e-ouro-texto);
  --e-cabecalho:3.75rem;
  --e-cabecalho-rolado:3.25rem;
}
@media (prefers-color-scheme:dark){
  :root:not([data-tema="claro"]){
    --e-sombra-1:0 1px 2px rgba(0,0,0,.4);
    --e-sombra-2:0 1px 2px rgba(0,0,0,.4),0 18px 38px -18px rgba(0,0,0,.8);
    --e-sombra-3:0 2px 6px rgba(0,0,0,.4),0 30px 60px -28px rgba(0,0,0,.9);
    --e-sombra-cab:0 10px 28px -18px rgba(0,0,0,.8);
  }
}
:root[data-tema="escuro"]{
  --e-sombra-1:0 1px 2px rgba(0,0,0,.4);
  --e-sombra-2:0 1px 2px rgba(0,0,0,.4),0 18px 38px -18px rgba(0,0,0,.8);
  --e-sombra-3:0 2px 6px rgba(0,0,0,.4),0 30px 60px -28px rgba(0,0,0,.9);
  --e-sombra-cab:0 10px 28px -18px rgba(0,0,0,.8);
}
.e-trilha-escola{--e-eyebrow:var(--e-escola)}
.e-trilha-adultos{--e-eyebrow:var(--e-adultos)}

/* ---------- 2. Base tipográfica ---------- */
html,body{overflow-x:clip}   /* o painel do menu fica fora da tela: nunca vira rolagem horizontal */
body{
  font-variant-numeric:lining-nums proportional-nums;   /* "3º e 4º bimestres" e "2026" sem número caído */
  font-kerning:normal;
  font-feature-settings:"kern","liga","calt";
}
h1,h2,h3,h4,h5,h6{font-weight:560;letter-spacing:-.018em;line-height:1.14;text-wrap:balance}
h1{font-size:var(--e-t-7);font-weight:540;line-height:1.08;letter-spacing:-.026em}
h2{font-size:var(--e-t-6);line-height:1.12;letter-spacing:-.022em}
h3{font-size:var(--e-t-5);line-height:1.2}
h4{font-size:var(--e-t-3);letter-spacing:0}
p{text-wrap:pretty}
a{transition:color var(--e-dur-1) ease,text-decoration-color var(--e-dur-1) ease}
/* o anel de foco do style.css trocava o raio de quem recebia foco por 4px (botão, campo e cartão ficavam quadrados): cada componente declara o seu em --e-raio-foco */
:focus-visible{border-radius:var(--e-raio-foco,4px)}
input,textarea,select,button,.e-btn,.wp-block-button__link,summary{--e-raio-foco:var(--e-raio)}
.e-chip,.e-botao-fantasma,.e-rodape__redes a{--e-raio-foco:var(--e-r-pilula)}
.e-card,body .ensino-card a{--e-raio-foco:calc(var(--e-raio) + 2px)}
.e-materia-card{--e-raio-foco:var(--e-r-4)}
.e-gratis-card>a,.e-area-card>a{--e-raio-foco:var(--e-r-3)}
.e-nav a,.e-nav__areas summary,.e-menu-btn{--e-raio-foco:var(--e-r-2)}
.e-tema-btn{--e-raio-foco:50%}
::selection{background:color-mix(in srgb,var(--e-ouro) 70%,transparent);color:inherit}
hr{border-top-color:var(--e-cabelo)}
.e-principal--inicio{padding-block:0}

/* ---------- 3. Utilitários do sistema ---------- */
.e-eyebrow,.e-sobrelinha{
  display:inline-block;margin:0 0 var(--e-s-3);
  font-family:var(--e-fonte-texto);font-size:var(--e-t-1);font-weight:700;line-height:1.2;
  letter-spacing:.12em;text-transform:uppercase;color:var(--e-eyebrow);
}
.e-titulo-secao{font-size:var(--e-t-6);margin:0;line-height:1.1;letter-spacing:-.024em}
.e-lede{font-size:var(--e-t-4);line-height:1.5;color:var(--e-tinta-2);max-width:56ch;margin:0 0 var(--e-s-5);text-wrap:pretty}
.e-secao{padding-block:var(--e-secao-y)}
.e-secao--compacta{padding-block:calc(var(--e-secao-y) / 2)}
.e-secao--sem-topo{padding-top:0}
.e-secao--faixa{background:var(--e-superficie);border-block:1px solid var(--e-cabelo)}
.e-secao__cabeca{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--e-s-3) var(--e-s-5);margin:0 0 var(--e-s-6)}
.e-secao__cabeca h2{margin:0}
.e-secao__cabeca p{margin:var(--e-s-2) 0 0;max-width:56ch;color:var(--e-tinta-2);font-size:var(--e-t-2);line-height:1.5}
.e-secao__cabeca .e-eyebrow{display:block}
.e-link-seta,.e-secao__cabeca a{
  display:inline-flex;align-items:center;gap:.4rem;min-height:44px;white-space:nowrap;
  font-weight:600;font-size:var(--e-t-2);color:var(--e-link);text-decoration:none;
}
.e-link-seta .e-seta,.e-secao__cabeca a .e-seta{width:1.05em;height:1.05em;transition:transform var(--e-dur-2) var(--e-ease)}
.e-link-seta:hover,.e-secao__cabeca a:hover{color:var(--e-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}
.e-link-seta:hover .e-seta,.e-secao__cabeca a:hover .e-seta{transform:translateX(3px)}
.e-botao-fantasma{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.45rem 1.1rem;
  border:1px solid var(--e-cabelo-forte);border-radius:var(--e-r-pilula);background:transparent;color:var(--e-tinta);
  font:inherit;font-size:var(--e-t-2);font-weight:600;text-decoration:none;cursor:pointer;
  transition:background-color var(--e-dur-1) ease,border-color var(--e-dur-1) ease;
}
.e-botao-fantasma:hover{background:color-mix(in srgb,var(--e-tinta) 6%,transparent);border-color:color-mix(in srgb,var(--e-tinta) 40%,transparent);color:var(--e-tinta);transform:none;box-shadow:none}
.e-chip--meta{
  display:inline-flex;align-items:center;gap:.35rem;min-height:0;height:1.75rem;padding:0 .65rem;
  border:1px solid var(--e-cabelo);border-radius:var(--e-r-pilula);background:color-mix(in srgb,var(--e-tinta) 4%,transparent);
  color:var(--e-tinta-2);font-size:var(--e-t-1);font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;
}
.e-chip--meta svg{width:1em;height:1em;flex:none}
.e-superficie-plana{background:var(--e-cartao);border:1px solid var(--e-cabelo);border-radius:var(--e-r-3);padding:var(--e-s-5)}
.e-superficie-plana--link{color:var(--e-tinta);text-decoration:none;transition:transform var(--e-dur-2) var(--e-ease),box-shadow var(--e-dur-2) var(--e-ease),border-color var(--e-dur-2) ease}
.e-superficie-plana--link:hover{transform:translateY(-2px);box-shadow:var(--e-sombra-2);border-color:var(--e-cabelo-forte);color:var(--e-tinta)}
.e-icone-caixa{display:grid;place-items:center;flex:none;width:3rem;height:3rem;border-radius:var(--e-r-3);background:color-mix(in srgb,var(--e-acento) 12%,transparent);color:var(--e-acento)}
.e-icone-caixa svg{width:1.5rem;height:1.5rem}
.e-linha-fina{border:0;border-top:1px solid var(--e-cabelo);margin:var(--e-s-6) 0}

/* entrada suave: só opacidade e transform */
@keyframes e-sobe{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.e-anim{animation:e-sobe var(--e-dur-3) var(--e-ease) both}
.e-anim--2{animation-delay:70ms}.e-anim--3{animation-delay:140ms}.e-anim--4{animation-delay:210ms}.e-anim--5{animation-delay:280ms}
@supports (animation-timeline:view()){
  .e-revela{animation:e-sobe linear forwards;animation-timeline:view();animation-range:entry 0% entry 45%}   /* forwards, não both: antes de entrar na tela o bloco fica visível (captura de página inteira, impressão) */
}
@media (prefers-reduced-motion:reduce){
  .e-anim,.e-revela{animation:none!important;opacity:1!important;transform:none!important}
}
@media print{.e-anim,.e-revela{animation:none!important;opacity:1!important;transform:none!important}}

/* ---------- 4. Botões ---------- */
.e-btn,.wp-block-button__link{
  min-height:48px;padding:.65rem 1.4rem;border-radius:var(--e-r-2);font-size:1.0625rem;font-weight:600;letter-spacing:.005em;
  box-shadow:var(--e-sombra-1);
  transition:background-color var(--e-dur-1) ease,border-color var(--e-dur-1) ease,box-shadow var(--e-dur-2) var(--e-ease),transform var(--e-dur-2) var(--e-ease),color var(--e-dur-1) ease;
}
.e-btn:hover{transform:translateY(-1px);box-shadow:var(--e-sombra-2)}
.e-btn:active{transform:none;box-shadow:var(--e-sombra-1)}
.e-btn .e-seta{width:1.1em;height:1.1em;flex:none;transition:transform var(--e-dur-2) var(--e-ease)}
.e-btn:hover .e-seta{transform:translateX(3px)}
.e-btn--sm{min-height:44px;padding:.45rem 1.05rem;font-size:var(--e-t-2)}
.e-btn--contorno{background:transparent;color:var(--e-tinta);border-color:var(--e-cabelo-forte);box-shadow:none}
.e-btn--contorno:hover{background:color-mix(in srgb,var(--e-tinta) 6%,transparent);border-color:color-mix(in srgb,var(--e-tinta) 40%,transparent);color:var(--e-tinta);box-shadow:none}

/* ---------- 5. Cabeçalho e navegação ---------- */
.e-cabecalho{
  background:none;-webkit-backdrop-filter:none;backdrop-filter:none;   /* o vidro vai no ::before: backdrop-filter no próprio cabeçalho prenderia o painel fixo do menu */
  min-height:var(--e-cabecalho);border-bottom:1px solid transparent;
  transition:min-height var(--e-dur-2) ease,border-color var(--e-dur-2) ease,box-shadow var(--e-dur-2) ease;
}
.e-cabecalho::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:color-mix(in srgb,var(--e-papel) 78%,transparent);
  -webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);
  transition:background-color var(--e-dur-2) ease;
}
/* celular deitado ou texto a 200%: o cabeçalho deixa de ser fixo (style.css) e volta a ter fundo próprio */
@media (max-height:30rem){.e-cabecalho{position:relative;background:var(--e-papel)}.e-cabecalho::before{display:none}}
.e-cabecalho.is-rolado{min-height:var(--e-cabecalho-rolado);border-bottom-color:var(--e-cabelo);box-shadow:var(--e-sombra-cab)}
.e-cabecalho.is-rolado::before{background:color-mix(in srgb,var(--e-papel) 90%,transparent)}
.e-cabecalho__linha{gap:var(--e-s-4);min-height:var(--e-cabecalho)}
.e-cabecalho.is-rolado .e-cabecalho__linha{min-height:var(--e-cabecalho-rolado)}
.e-marca{gap:.7rem;min-height:44px;flex:none}
.e-marca__nome{white-space:nowrap}
.e-marca__logo{width:2.25rem;height:2.25rem}
.e-cabecalho.is-rolado .e-marca__logo{width:2rem;height:2rem}
.e-marca__nome{font-size:1.3rem;font-weight:580;letter-spacing:-.02em}
.e-marca__legenda{font-size:.625rem;font-weight:700;letter-spacing:.17em;margin-top:.28rem}

.e-nav{gap:.1rem}
.e-nav ul{gap:.1rem}
.e-nav a,.e-nav__areas summary{
  min-height:44px;padding:.5rem .85rem;border-radius:var(--e-r-2);
  font-size:.9375rem;font-weight:560;letter-spacing:.003em;color:var(--e-tinta-2);
  background-color:transparent;background-image:linear-gradient(var(--e-ouro),var(--e-ouro));
  background-repeat:no-repeat;background-size:0 2px;background-position:50% calc(100% - 7px);background-origin:content-box;
  box-shadow:none;transition:color var(--e-dur-1) ease,background-size var(--e-dur-2) var(--e-ease),background-color var(--e-dur-1) ease;
}
.e-nav a:hover,.e-nav__areas summary:hover{color:var(--e-tinta);background-color:transparent;background-image:linear-gradient(var(--e-ouro),var(--e-ouro));background-size:100% 2px}
.e-nav .current-menu-item>a,.e-nav .current_page_item>a,.e-nav a[aria-current=page],.e-nav__areas.current-menu-ancestor summary{
  color:var(--e-tinta);font-weight:650;box-shadow:none;background-size:100% 2px;
}
.e-nav__areas summary::after{width:.4rem;height:.4rem;border-width:1.5px;margin-left:.2rem}
.e-nav .e-nav__cta{margin-left:.6rem}
.e-nav .e-nav__cta a{
  gap:0;padding:.5rem 1.1rem;border-radius:var(--e-r-2);font-weight:650;letter-spacing:.005em;
  background-color:var(--e-botao);background-image:none;color:var(--e-botao-texto);box-shadow:var(--e-sombra-1);
}
.e-nav .e-nav__cta a::after{
  content:"";width:.95em;height:.95em;flex:none;margin-left:.5rem;background:currentColor;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14m-6-6 6 6-6 6'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14m-6-6 6 6-6 6'/></svg>") center/contain no-repeat;
  transition:transform var(--e-dur-2) var(--e-ease);
}
.e-nav .e-nav__cta a:hover{background-color:var(--e-botao-hover);background-image:none;color:var(--e-botao-texto);transform:translateY(-1px);box-shadow:var(--e-sombra-2)}
.e-nav .e-nav__cta a:hover::after{transform:translateX(2px)}
.e-tema-btn{
  min-height:44px;min-width:44px;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--e-tinta-2);box-shadow:none;
  transition:background-color var(--e-dur-1) ease,color var(--e-dur-1) ease,border-color var(--e-dur-1) ease;
}
.e-tema-btn:hover{background:color-mix(in srgb,var(--e-tinta) 7%,transparent);color:var(--e-tinta);border-color:var(--e-cabelo)}
.e-tema-btn svg{width:1.2rem;height:1.2rem}
.e-menu-btn{min-height:44px;min-width:44px;border:1px solid transparent;border-radius:var(--e-r-2);background:transparent;color:var(--e-tinta);box-shadow:none}
.e-menu-btn:hover{background:color-mix(in srgb,var(--e-tinta) 7%,transparent);color:var(--e-tinta);border-color:var(--e-cabelo)}

/* de 1200 a 1439 px: sem a legenda da marca e com respiro menor entre os itens (cabem 8 itens e o botão) */
@media (min-width:75rem) and (max-width:89.99rem){
  .e-marca__legenda{display:none}
  .e-nav a,.e-nav__areas summary{padding-inline:.55rem;font-size:.9rem}
  .e-nav .e-nav__cta{margin-left:.3rem}
  .e-nav .e-nav__cta a{padding-inline:.85rem}
  .e-nav__cta-nome{display:none}   /* "Minha turma: 3º C · Inglês" vira "Minha turma" aqui; o nome volta a partir de 1440 px */
  .e-cabecalho__linha{gap:var(--e-s-3)}
}

/* último recurso: se um dia houver mais itens do que cabem em 1200 a 1440 px, o menu desce para uma segunda linha em vez de ser cortado */
@media (min-width:75rem){.e-cabecalho__linha{flex-wrap:wrap}}

/* menu suspenso "Atividades" / "Meu painel" no desktop */
@media (min-width:75rem){
  .e-nav__sub{
    top:calc(100% + .5rem);padding:.5rem;gap:.1rem;border:1px solid var(--e-cabelo);border-radius:var(--e-r-3);
    background:var(--e-cartao);box-shadow:var(--e-sombra-3);
  }
  .e-nav__sub a{border-radius:var(--e-r-2);background-image:none;color:var(--e-tinta);font-weight:500;padding:.45rem .75rem}
  .e-nav__sub a:hover,.e-nav__sub a:focus-visible{background-color:color-mix(in srgb,var(--e-tinta) 6%,transparent);background-image:none}
  .e-nav__sub-titulo{font-weight:650!important;color:var(--e-prim-texto)!important}
}

/* v6.1 (02/10/2026): painel do menu suspenso ("Mais", "Atividades") no desktop.
   O style.css dá flex:1 1 15rem a cada <li> pensando em 2 colunas (6 itens ou mais), mas numa coluna única
   esse 15rem vira ALTURA: o "Mais" abria com 480 px de painel vazio, itens cortados e rolagem lateral.
   Aqui o painel mede o conteúdo, os itens ocupam a largura toda e as subatividades ficam em lista.
   O menu do administrador (.e-nav__sub--admin, grade de 2 colunas) fica de fora. */
@media (min-width:75rem){
  .e-nav__sub:not(.e-nav__sub--admin){width:max-content;min-width:13rem;max-width:min(30rem,calc(100vw - 2rem));max-height:min(70vh,32rem);overflow-x:hidden;overflow-y:auto}
  .e-nav__sub:not(.e-nav__sub--admin)>li{flex:0 0 auto;min-width:0;align-self:stretch}
  .e-nav__sub:not(.e-nav__sub--admin) li>ul{display:flex;flex-direction:column;align-items:stretch;gap:.1rem;width:auto}
  .e-nav__sub:not(.e-nav__sub--admin) li>ul>li{flex:0 0 auto;min-width:0;border:0}
  .e-nav__sub:not(.e-nav__sub--admin) a{justify-content:flex-start;text-align:left}
  .e-nav__sub:not(.e-nav__sub--admin):has(>li:nth-child(6)){width:auto;min-width:26rem}
  .e-nav__sub:not(.e-nav__sub--admin):has(>li:nth-child(6))>li{flex:1 1 15rem;min-width:13rem}
}

/* menu em painel até 1199 px: sete itens e o botão não cabem numa linha antes disso */
@media (max-width:74.99rem){
  .e-menu-btn{display:inline-flex}
  .e-nav-veu{display:block;position:fixed;inset:var(--e-cabecalho-real,var(--e-cabecalho)) 0 0 0;z-index:75;background:rgba(14,28,42,.45);opacity:0;pointer-events:none;transition:opacity var(--e-dur-2) ease}
  .e-nav-veu.e-nav-veu--visivel{opacity:1;pointer-events:auto}
  .e-nav{
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:fixed;top:var(--e-cabecalho-real,var(--e-cabecalho));right:0;bottom:0;left:auto;z-index:80;
    width:min(22rem,88vw);max-width:none;max-height:none;overflow:auto;overscroll-behavior:contain;
    padding:var(--e-s-3) var(--e-s-5) var(--e-s-6);
    background:var(--e-papel);border-left:1px solid var(--e-cabelo);border-bottom:0;box-shadow:var(--e-sombra-3);
    transform:translateX(100%);visibility:hidden;
    transition:transform var(--e-dur-2) var(--e-ease),visibility var(--e-dur-2);
  }
  .e-nav--aberto{transform:translateX(0);visibility:visible;max-height:none;overflow:auto}
  .e-nav ul{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .e-nav li{border-bottom:1px solid var(--e-cabelo)}
  .e-nav a,.e-nav__areas summary{
    width:100%;min-height:54px;padding:.75rem .15rem;border-radius:0;font-size:1.125rem;font-weight:600;color:var(--e-tinta);
    background-image:none;
  }
  .e-nav a:hover,.e-nav__areas summary:hover{background-image:none;background-color:transparent}
  .e-nav .current-menu-item>a,.e-nav .current_page_item>a,.e-nav a[aria-current=page],.e-nav__areas.current-menu-ancestor summary{
    background-image:none;box-shadow:inset 3px 0 0 var(--e-ouro);padding-left:.9rem;
  }
  .e-nav__areas summary{justify-content:space-between}
  .e-nav .e-nav__cta{margin:var(--e-s-5) 0 0;border-bottom:0}
  .e-nav .e-nav__cta a{justify-content:center;min-height:54px;padding:.75rem 1.25rem;border-radius:var(--e-r-3);color:var(--e-botao-texto);box-shadow:var(--e-sombra-1)}
  .e-nav__sub,.e-nav__sub:has(>li:nth-child(6)){
    position:static;min-width:0;max-width:none;max-height:none;overflow:visible;flex-direction:column;
    margin:0 0 var(--e-s-3);padding:0 0 0 var(--e-s-3);border:0;border-left:2px solid var(--e-cabelo);border-radius:0;background:none;box-shadow:none;
  }
  .e-nav__sub>li{flex:none;min-width:0}
  .e-nav__sub a{font-size:1rem;font-weight:500;min-height:48px}
  .e-nav__sub-titulo{font-weight:650;color:var(--e-prim-texto)}
}
@media (max-width:74.99rem) and (prefers-reduced-motion:reduce){.e-nav,.e-nav-veu{transition:none}}
/* item "Administrador" (entrada discreta do professor): menos peso que a navegação dos alunos */
.e-nav .e-nav__admin a{font-size:.8125rem;font-weight:500;color:var(--e-tinta-2)}
@media (max-width:74.99rem){.e-nav .e-nav__admin a{font-size:1rem}}
@media (min-width:75rem){.e-nav-veu{display:none}}

/* ---------- 6. Rodapé ---------- */
.e-rodape{
  border-top:1px solid var(--e-cabelo);background:var(--e-superficie);color:var(--e-tinta-2);
  padding:var(--e-s-8) 0 var(--e-s-5);font-size:var(--e-t-2);
  --e-eyebrow:var(--e-ouro-texto);   /* o rodapé é neutro: não herda o acento da trilha */
}
.e-rodape__grade{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--e-s-7) var(--e-s-8)}
@media (min-width:48rem){.e-rodape__grade{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr)}}
.e-rodape .e-rodape__logo{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;color:var(--e-tinta);text-decoration:none}
.e-rodape__logo-marca{display:block;width:2.25rem;height:2.25rem;flex:none}
.e-rodape__logo-marca svg{display:block;width:100%;height:100%}
.e-rodape__logo-nome{font-family:var(--e-fonte-titulo);font-size:1.4rem;font-weight:580;letter-spacing:-.02em;color:var(--e-tinta)}
.e-rodape__marca p{max-width:40ch;margin:var(--e-s-4) 0 var(--e-s-5);line-height:1.6;text-wrap:pretty}
.e-rodape__redes{display:flex;flex-wrap:wrap;gap:var(--e-s-2);list-style:none;margin:0;padding:0}
.e-rodape__redes li{margin:0}
.e-rodape__redes a{
  display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.35rem 1rem .35rem .85rem;
  border:1px solid var(--e-cabelo-forte);border-radius:var(--e-r-pilula);color:var(--e-tinta);font-size:var(--e-t-2);font-weight:600;text-decoration:none;
  transition:background-color var(--e-dur-1) ease,border-color var(--e-dur-1) ease;
}
.e-rodape__redes a:hover{background:color-mix(in srgb,var(--e-tinta) 6%,transparent);border-color:color-mix(in srgb,var(--e-tinta) 40%,transparent)}
.e-rodape__redes svg{width:1.15rem;height:1.15rem;flex:none}
.e-rodape h2{
  margin:0 0 var(--e-s-3);font-family:var(--e-fonte-texto);font-size:var(--e-t-1);font-weight:700;line-height:1.2;
  letter-spacing:.12em;text-transform:uppercase;color:var(--e-eyebrow);
}
.e-rodape ul{list-style:none;margin:0;padding:0}
.e-rodape li{margin:0}
.e-rodape__col a{
  display:inline-flex;align-items:center;min-height:44px;padding:.25rem 0;color:var(--e-tinta);text-decoration:none;
  background-image:linear-gradient(var(--e-ouro),var(--e-ouro));background-repeat:no-repeat;background-size:0 1px;background-position:0 calc(50% + .72em);
  transition:background-size var(--e-dur-2) var(--e-ease);
}
.e-rodape__col a:hover{background-size:100% 1px;color:var(--e-tinta)}
.e-rodape__assinatura{
  display:flex;flex-wrap:wrap;gap:var(--e-s-2) var(--e-s-5);justify-content:space-between;align-items:center;
  margin-top:var(--e-s-7);padding-top:var(--e-s-5);border-top:1px solid var(--e-cabelo);font-size:var(--e-t-1);color:var(--e-tinta-2);
}
.e-rodape__assinatura a{color:var(--e-tinta);text-decoration-color:color-mix(in srgb,var(--e-tinta) 35%,transparent)}

/* ---------- 7. Início: hero, arte de caderno e portas ---------- */
.e-hero{position:relative;overflow:clip;isolation:isolate;padding:clamp(2rem,.6rem + 4.4vw,4.75rem) 0 var(--e-secao-y)}
.e-hero::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(48% 55% at 82% 8%,color-mix(in srgb,var(--e-ouro) 20%,transparent),transparent 72%),
    radial-gradient(40% 45% at 0% 100%,color-mix(in srgb,var(--e-escola) 9%,transparent),transparent 72%);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 140px,#000 calc(100% - 120px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 140px,#000 calc(100% - 120px),transparent 100%);
}
.e-hero::after{   /* pauta de caderno, só no lado da arte */
  content:"";position:absolute;top:0;right:0;bottom:0;width:62%;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,color-mix(in srgb,var(--e-tinta) 6%,transparent) 39px,color-mix(in srgb,var(--e-tinta) 6%,transparent) 40px);
  -webkit-mask-image:linear-gradient(to left,#000 0%,transparent 85%);mask-image:linear-gradient(to left,#000 0%,transparent 85%);
}
.e-hero__grade{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--e-s-7);align-items:center}
@media (min-width:62rem){.e-hero__grade{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:var(--e-s-8)}}
.e-hero__sobre{display:flex;align-items:center;gap:.75rem;margin-bottom:var(--e-s-5)}
.e-hero__sobre::before{content:"";width:2rem;height:1px;background:currentColor;opacity:.6}
.e-hero h1{
  max-width:13ch;margin:0 0 var(--e-s-5);
  font-size:clamp(2.625rem,1.4rem + 5vw,4.875rem);font-weight:500;line-height:1.02;letter-spacing:-.034em;
}
.e-hero h1 em{font-style:italic;font-weight:400;color:var(--e-ouro-texto);letter-spacing:-.02em}
.e-hero__texto{font-size:clamp(1.125rem,1rem + .5vw,1.375rem);line-height:1.55;max-width:46ch;margin:0}
.e-hero__acoes{display:flex;flex-wrap:wrap;gap:var(--e-s-3);margin-top:var(--e-s-6)}
.e-hero__figura{justify-self:center;width:min(100%,34rem)}
@media (min-width:62rem){.e-hero__figura{justify-self:end;width:min(100%,36rem)}}
@media (max-width:47.99rem){
  .e-hero::after{display:none}
  .e-hero__figura{display:none}
  .e-hero__acoes .e-btn{flex:1 1 100%}
}
.e-hero__figura svg{width:100%;height:auto;display:block}

/* a arte: classes e-arte__* do SVG emitido por ensino_tema_ilustracao_hero() */
.e-arte{overflow:visible}
.e-arte__aro{fill:none;stroke:var(--e-ouro);stroke-opacity:.5;stroke-width:1.4;stroke-dasharray:1.5 8;stroke-linecap:round}
.e-arte__aro--fino{stroke-opacity:.28;stroke-dasharray:none}
.e-arte__folha{fill:var(--e-cartao);stroke:var(--e-cabelo-forte);stroke-width:1.2;filter:drop-shadow(0 22px 26px rgba(21,49,75,.16))}
.e-arte__folha--tras{fill:var(--e-superficie);filter:drop-shadow(0 12px 16px rgba(21,49,75,.1))}
.e-arte__pauta{fill:none;stroke:color-mix(in srgb,var(--e-prim-texto) 20%,transparent);stroke-width:1.3}
.e-arte__pauta--fraca{stroke:color-mix(in srgb,var(--e-tinta) 8%,transparent)}
.e-arte__margem{fill:none;stroke:var(--e-ouro);stroke-opacity:.75;stroke-width:1.4}
.e-arte__furos circle{fill:var(--e-papel);stroke:var(--e-cabelo-forte);stroke-width:1.2}
.e-arte text{font-family:var(--e-fonte-titulo);font-kerning:normal}
.e-arte__rotulo{font-family:var(--e-fonte-texto)!important;font-size:12.5px;font-weight:700;letter-spacing:.22em;fill:var(--e-ouro-texto)}
.e-arte__frase{font-size:35px;font-style:italic;font-weight:440;letter-spacing:-.01em;fill:var(--e-tinta)}
.e-arte__marca-texto{fill:var(--e-ouro);fill-opacity:.4}
.e-arte__traco{fill:none;stroke:var(--e-ouro-texto);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.e-arte__rabisco{fill:none;stroke:color-mix(in srgb,var(--e-tinta) 22%,transparent);stroke-width:2;stroke-linecap:round}
.e-arte__fita{fill:var(--e-botao)}
.e-arte__selo circle{fill:var(--e-cartao);stroke:var(--e-escola);stroke-width:2.2;filter:drop-shadow(0 8px 10px rgba(21,49,75,.16))}
.e-arte__selo path{fill:none;stroke:var(--e-escola);stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round}

.e-portas__apoio{margin:var(--e-s-5) 0 0;font-size:var(--e-t-2);color:var(--e-tinta-2)}
.e-portas__apoio a{display:inline-flex;align-items:center;min-height:44px}

/* ---------- 7b. Início "matéria primeiro" (direção de 01/10/2026) ---------- */
.e-hero--materias{padding:clamp(2rem,.6rem + 3.6vw,4rem) 0 clamp(2.5rem,1.5rem + 3vw,4.5rem)}
.e-hero--materias h1{max-width:14ch}
.e-hero--materias .e-hero__texto{max-width:56ch}
@media (min-width:62rem){.e-hero--materias .e-hero__figura{width:min(100%,32rem)}}
.e-seta--baixo{transition:transform var(--e-dur-2) var(--e-ease)}
.e-btn:hover .e-seta--baixo{transform:translateY(3px)}

/* a trilha da arte: bolinhas por bimestre (feito, em andamento, por fazer) */
.e-arte__trilha{fill:none;stroke:var(--e-ouro);stroke-opacity:.85;stroke-width:1.8;stroke-dasharray:2 6;stroke-linecap:round}
.e-arte__passo circle{fill:var(--e-cartao);stroke:var(--e-cabelo-forte);stroke-width:1.8}
.e-arte__passo path{fill:none}
.e-arte__passo text{font-size:26px;font-weight:450;fill:var(--e-tinta)}
.e-arte__passo--feito circle{fill:color-mix(in srgb,var(--e-escola) 16%,var(--e-cartao));stroke:var(--e-escola)}
.e-arte__passo--feito path{stroke:var(--e-escola);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.e-arte__passo--atual circle{stroke:var(--e-ouro-texto);stroke-width:2.2}
.e-arte__passo .e-arte__miolo{fill:var(--e-ouro);stroke:none}
.e-arte__passo--atual text{font-style:italic;font-weight:560}
.e-arte__passo--falta text{fill:var(--e-tinta-2)}

/* Escolha a matéria: um cartão grande por matéria */
.e-secao--materias{padding-top:clamp(2.5rem,1.5rem + 3vw,4.5rem)}
.e-materias__grade{list-style:none;margin:0;padding:0;display:grid;gap:var(--e-gap-grade);grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr))}
.e-materias__grade:has(>li:nth-child(5)){grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr))}   /* 5 ou mais: três por linha, sem sobrar um sozinho */
.e-materias__grade>li{margin:0;padding:0}
.e-materia-card{
  position:relative;display:flex;flex-direction:column;gap:var(--e-s-3);height:100%;min-height:17rem;isolation:isolate;overflow:hidden;
  padding:clamp(1.5rem,1rem + 1.6vw,2.25rem);
  background:var(--e-cartao);border:1px solid var(--e-cabelo);border-radius:var(--e-r-4);box-shadow:var(--e-sombra-1);
  color:var(--e-tinta);text-decoration:none;
  transition:transform var(--e-dur-2) var(--e-ease),box-shadow var(--e-dur-2) var(--e-ease),border-color var(--e-dur-2) ease;
}
.e-materia-card::before{   /* numeral grande ao fundo, só decoração */
  content:attr(data-n);content:attr(data-n) / "";position:absolute;right:1.1rem;top:-.55rem;z-index:-1;pointer-events:none;
  font-family:var(--e-fonte-titulo);font-style:italic;font-weight:300;font-size:clamp(5rem,3.5rem + 4.5vw,7.5rem);line-height:1;letter-spacing:-.05em;
  color:color-mix(in srgb,var(--e-ouro) 24%,transparent);
}
:root[data-tema="escuro"] .e-materia-card::before{color:color-mix(in srgb,var(--e-ouro) 13%,transparent)}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]) .e-materia-card::before{color:color-mix(in srgb,var(--e-ouro) 13%,transparent)}}
.e-materia-card:hover{transform:translateY(-3px);box-shadow:var(--e-sombra-2);border-color:color-mix(in srgb,var(--e-ouro) 65%,var(--e-cabelo));color:var(--e-tinta)}
.e-materia-card__rotulo{font-size:var(--e-t-1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.2;color:var(--e-ouro-texto)}
.e-materia-card h3{margin:var(--e-s-5) 0 0;font-size:clamp(1.5rem,1.25rem + 1vw,2rem);line-height:1.12;letter-spacing:-.022em;text-wrap:balance}
.e-materia-card p{margin:0;max-width:36ch;font-size:var(--e-t-3);line-height:1.5;color:var(--e-tinta-2)}
.e-materia-card__rodape{display:flex;align-items:center;justify-content:space-between;gap:var(--e-s-4);margin-top:auto;padding-top:var(--e-s-4);border-top:1px solid var(--e-cabelo)}
.e-materia-card__abrir{display:inline-flex;align-items:center;gap:.65rem;font-weight:650;font-size:var(--e-t-3);color:var(--e-tinta)}
.e-materia-card__abrir svg{
  width:2.75rem;height:2.75rem;padding:.78rem;box-sizing:border-box;border:1px solid var(--e-cabelo-forte);border-radius:50%;
  transition:background-color var(--e-dur-2) ease,color var(--e-dur-2) ease,border-color var(--e-dur-2) ease,transform var(--e-dur-2) var(--e-ease);
}
.e-materia-card:hover .e-materia-card__abrir svg{background:var(--e-ouro);border-color:var(--e-ouro);color:#1B2733;transform:translateX(3px)}

/* faixa pequena "Já tenho o código da turma" */
.e-codigo-faixa{padding:var(--e-s-6) 0;background:var(--e-superficie);border-block:1px solid var(--e-cabelo)}
.e-codigo-faixa__linha{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--e-s-5)}
.e-codigo-faixa__icone{background:color-mix(in srgb,var(--e-escola) 13%,transparent);color:var(--e-escola)}
.e-codigo-faixa h2{margin:0 0 .2rem;font-size:var(--e-t-4);letter-spacing:-.016em}
.e-codigo-faixa p{margin:0;font-size:var(--e-t-2);color:var(--e-tinta-2)}
.e-codigo-faixa__acoes{display:flex;flex-direction:column;align-items:flex-end;gap:var(--e-s-1)}
.e-codigo-faixa .e-portas__apoio{margin:0;font-size:var(--e-t-1)}
@media (max-width:47.99rem){
  .e-codigo-faixa__linha{grid-template-columns:auto minmax(0,1fr);gap:var(--e-s-4)}
  .e-codigo-faixa__acoes{grid-column:1/-1;align-items:stretch}
  .e-codigo-faixa__acoes .e-btn{width:100%}
  .e-codigo-faixa .e-portas__apoio{text-align:center}
}

/* atalhos discretos */
.e-atalhos{padding:var(--e-s-6) 0 var(--e-s-7)}
.e-atalhos__linha{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-s-3) var(--e-s-5)}
.e-atalhos__rotulo{font-size:var(--e-t-1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--e-eyebrow)}
.e-atalhos ul{display:flex;flex-wrap:wrap;gap:var(--e-s-2);list-style:none;margin:0;padding:0}
.e-atalhos li{margin:0}

/* "Para você hoje" (quem volta) */
.e-hoje{margin:clamp(1rem,3vw,1.75rem) 0 0;padding:var(--e-s-4) var(--e-s-5);border:1px solid var(--e-cabelo);border-left:3px solid var(--e-escola);border-radius:var(--e-r-3);background:var(--e-cartao);box-shadow:var(--e-sombra-1)}
.e-hoje__titulo{font-size:var(--e-t-1);letter-spacing:.12em;color:var(--e-eyebrow)}

/* ---------- 8. Seções da página inicial ---------- */
/* Atividades publicadas e "Nesta área": cartão de página */
.e-areas-grade{list-style:none;margin:0;padding:0;display:grid;gap:var(--e-gap-grade);grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))}
.e-area-card{margin:0;padding:0}
.e-area-card>a{
  display:flex;flex-direction:column;gap:var(--e-s-2);height:100%;overflow:hidden;padding:var(--e-s-5);
  background:var(--e-cartao);border:1px solid var(--e-cabelo);border-radius:var(--e-r-3);color:var(--e-tinta);text-decoration:none;
  transition:transform var(--e-dur-2) var(--e-ease),box-shadow var(--e-dur-2) var(--e-ease),border-color var(--e-dur-2) ease;
}
.e-area-card>a:hover{transform:translateY(-2px);box-shadow:var(--e-sombra-2);border-color:var(--e-cabelo-forte);color:var(--e-tinta)}
.e-area-card__imagem{display:block;width:calc(100% + 3rem);max-width:none;height:auto;aspect-ratio:16/9;object-fit:cover;margin:calc(var(--e-s-5) * -1) calc(var(--e-s-5) * -1) var(--e-s-2);border-radius:0}
.e-area-card__titulo{font-family:var(--e-fonte-titulo);font-size:var(--e-t-4);font-weight:560;line-height:1.2;letter-spacing:-.014em;text-wrap:balance}
.e-area-card__resumo{font-size:var(--e-t-2);line-height:1.5;color:var(--e-tinta-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.e-area-card__contagem{
  margin-top:auto;align-self:flex-start;padding:.3rem .65rem;border:1px solid var(--e-cabelo);border-radius:var(--e-r-pilula);
  background:color-mix(in srgb,var(--e-tinta) 4%,transparent);font-size:var(--e-t-1);font-weight:600;line-height:1;color:var(--e-tinta-2);
}
.e-area-card__resumo+.e-area-card__contagem{margin-top:var(--e-s-3)}
/* uma área só: o cartão ocupa a linha inteira em vez de ficar sozinho num canto */
@media (min-width:48rem){
  .e-areas-grade>.e-area-card:only-child>a{
    display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"titulo contagem" "resumo contagem";
    column-gap:var(--e-s-6);row-gap:var(--e-s-2);align-items:center;padding:var(--e-s-6);
  }
  .e-areas-grade>.e-area-card:only-child .e-area-card__imagem{display:none}
  .e-areas-grade>.e-area-card:only-child .e-area-card__titulo{grid-area:titulo;font-size:var(--e-t-5)}
  .e-areas-grade>.e-area-card:only-child .e-area-card__resumo{grid-area:resumo;max-width:64ch;-webkit-line-clamp:2}
  .e-areas-grade>.e-area-card:only-child .e-area-card__contagem{grid-area:contagem;margin:0;padding:.55rem 1rem;font-size:var(--e-t-2)}
}

/* Vitrine dos gratuitos (markup do plugin: li.e-gratis-card > a): o cartão é o link, não o item da lista */
.e-vitrine{padding-block:0}
.e-vitrine__grade{gap:var(--e-gap-grade);grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr))}
.e-gratis-card{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}
.e-gratis-card:hover{transform:none;box-shadow:none;border-color:transparent}
.e-gratis-card>a{
  position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;
  background:var(--e-cartao);border:1px solid var(--e-cabelo);border-radius:var(--e-r-3);color:var(--e-tinta);text-decoration:none;
  transition:transform var(--e-dur-2) var(--e-ease),box-shadow var(--e-dur-2) var(--e-ease),border-color var(--e-dur-2) ease;
}
.e-gratis-card>a:hover{transform:translateY(-2px);box-shadow:var(--e-sombra-2);border-color:var(--e-cabelo-forte);color:var(--e-tinta)}
.e-gratis-card__selo{margin:var(--e-s-5) 0 0 var(--e-s-5)}
.e-gratis-card:has(.e-gratis-card__imagem) .e-gratis-card__selo{position:absolute;top:.75rem;left:.75rem;margin:0;z-index:1}
.e-gratis-card__titulo{padding:var(--e-s-3) var(--e-s-5) 0;font-size:var(--e-t-4);font-weight:560}
.e-gratis-card__resumo{margin-top:0;padding:var(--e-s-2) var(--e-s-5) var(--e-s-5)}

/* ---------- 9. Páginas de texto (page.php), 404 e busca ---------- */
.e-pagina__cabeca{max-width:var(--e-medida);margin:0 auto var(--e-s-6)}
.e-pagina__cabeca h1{margin:0 0 var(--e-s-4)}
.e-pagina__resumo{margin-bottom:0}
.e-pagina__cabeca::after{content:"";display:block;width:3rem;height:2px;margin-top:var(--e-s-5);background:var(--e-ouro)}
.e-pagina .e-prosa{font-size:var(--e-t-3);line-height:1.72}
.e-pagina .e-prosa h2:where(:not([class*="ensino-"])){margin-top:2.2em;margin-bottom:.45em;padding-top:0;border-top:0;font-size:var(--e-t-5);font-weight:560}
.e-pagina .e-prosa h3:where(:not([class*="ensino-"])){font-size:var(--e-t-4);margin-top:1.8em}
.e-pagina .e-prosa a{text-decoration-thickness:1px;text-underline-offset:.22em}
.e-pagina .e-prosa strong{font-weight:650}
.e-trilha-nav{margin-bottom:var(--e-s-4)}

.e-busca-form{max-width:34rem;gap:var(--e-s-2)}
.e-busca-form input{border-radius:var(--e-r-2)}
.e-busca-form button{gap:.5rem;border-radius:var(--e-r-2)}
.e-busca-form button svg{width:1.15rem;height:1.15rem}
.e-404{position:relative;isolation:isolate;max-width:46rem;padding-block:clamp(3rem,2rem + 5vw,6rem)}
.e-404::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,color-mix(in srgb,var(--e-tinta) 6%,transparent) 39px,color-mix(in srgb,var(--e-tinta) 6%,transparent) 40px);
  -webkit-mask-image:radial-gradient(60% 60% at 50% 45%,#000,transparent 75%);mask-image:radial-gradient(60% 60% at 50% 45%,#000,transparent 75%);
}
.e-404__num{font-size:clamp(6rem,3.5rem + 15vw,12.5rem);font-weight:300;line-height:.9;letter-spacing:-.05em;color:color-mix(in srgb,var(--e-ouro) 30%,var(--e-ouro-texto));margin:0 0 var(--e-s-3)}
.e-404__titulo{font-size:var(--e-t-7);margin:0 0 var(--e-s-4)}
.e-404__texto{margin-inline:auto;max-width:46ch;font-size:var(--e-t-3);text-wrap:balance}
.e-404 .e-busca-form{margin:var(--e-s-6) auto 0}
.e-404__acoes{margin-top:var(--e-s-5);justify-content:center}

/* menu do administrador (30/09/2026): grupos com rótulo dentro do dropdown "Administrador" */
.e-nav__grupo>ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.1rem}
.e-nav__sub-rotulo{display:block;padding:.35rem .75rem .2rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--e-prim-texto,var(--e-tinta));opacity:.75}
.e-nav__admin>a{opacity:.8}
.e-nav__admin>a:hover,.e-nav__admin>a:focus-visible{opacity:1}
@media (max-width:74.99rem){.e-nav__sub-rotulo{padding-left:0}}
@media (min-width:75rem){
  .e-nav .e-nav__sub.e-nav__sub--admin{
    /* v6.1: duas colunas que se equilibram sozinhas (a grade deixava vazio na esquerda e rótulos em alturas diferentes) */
    display:block;columns:2 13rem;column-gap:1.25rem;min-width:30rem;max-width:none;max-height:none;overflow:visible;padding:.8rem .9rem;
  }
  .e-nav .e-nav__sub--admin>li{min-width:0;flex:none;break-inside:avoid;margin:0 0 .6rem}
  .e-nav .e-nav__sub--admin>li:last-child{margin-bottom:0}
  .e-nav .e-nav__sub--admin a{display:flex;justify-content:flex-start;align-items:center;width:100%;min-height:38px;padding:.4rem .75rem;text-align:left;font-weight:500;font-size:.95rem}
  .e-nav .e-nav__sub--admin li>ul a{padding-left:.75rem}
}
.e-nav .e-nav__grupo>ul{align-items:stretch}
.e-nav .e-nav__grupo>ul>li{width:100%}
