/*
Theme Name: Ensino · Professor Ulysses
Theme URI: https://ensino.cesaradvogados.com
Author: Ulysses Cesar
Description: Tema clássico da plataforma de estudos do Professor Ulysses. Dois trilhos (Escola e Cursos para adultos), leitura longa confortável, tema escuro automático, zero requisição externa.
Version: 1.2.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ensino-tema
Tags: education, accessibility-ready, custom-logo, custom-menu, threaded-comments

Fonte: C:\AI\projects\ensino-ulysses\themes\ensino-tema\style.css
Terceiros embutidos: modern-normalize 3.0.1 (MIT) na seção "0. Reset". Fontes em /fontes (OFL 1.1).
*/

/* ==========================================================================
   0. Reset — modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize
   ========================================================================== */
*,::before,::after{box-sizing:border-box}
html{font-family:system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji';line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}
body{margin:0}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:1em}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-0.25em}
sup{top:-0.5em}
table{border-color:currentcolor}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}
button,[type='button'],[type='reset'],[type='submit']{-webkit-appearance:button}
legend{padding:0}
progress{vertical-align:baseline}
::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}
[type='search']{-webkit-appearance:textfield;outline-offset:-2px}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
summary{display:list-item}
/* fim do modern-normalize */

/* ==========================================================================
   1. Fontes auto-hospedadas (OFL 1.1) — Fraunces (título) e Source Sans 3 (texto)
   ========================================================================== */
@font-face{font-family:'Fraunces';font-style:normal;font-display:swap;font-weight:100 900;src:url('fontes/fraunces-latin-wght-normal.woff2') format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';font-style:italic;font-display:swap;font-weight:100 900;src:url('fontes/fraunces-latin-wght-italic.woff2') format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-display:swap;font-weight:200 900;src:url('fontes/source-sans-3-latin-wght-normal.woff2') format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:italic;font-display:swap;font-weight:200 900;src:url('fontes/source-sans-3-latin-wght-italic.woff2') format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ==========================================================================
   2. Tokens (contrato da equipe). Claro por padrão; escuro por preferência ou por [data-tema].
   Contraste AA conferido: ver BENCHMARK.md.
   ========================================================================== */
:root{
  color-scheme:light;
  --e-papel:#F4F1EA;
  --e-superficie:#FBF9F4;
  --e-cartao:#FDFCF9;
  --e-tinta:#1B2733;
  --e-tinta-2:#4B5563;
  --e-prim:#15314B;
  --e-prim-2:#1B3A5C;
  --e-ouro:#C9A961;
  --e-ouro-texto:#7D6224;   /* ouro legível como texto sobre papel (5.1:1) */
  --e-escola:#0F766E;
  --e-adultos:#7C2D3E;
  --e-borda:#EAE4D8;
  --e-link:#1B4F8A;
  --e-foco:#7D6224;          /* ouro escurecido: 5,1:1 no papel, 5,6:1 no cartão (o #C9A961 dava 2:1) */
  --e-borda-campo:#857A68;   /* contorno de campo de texto: 4,1:1 no cartão, 3,7:1 no papel (WCAG 1.4.11) */
  --e-prim-texto:#15314B;    /* marinho usado como COR DE TEXTO (no escuro vira azul-claro) */
  --e-botao:#1B3A5C;         /* botão primário: um só por tema */
  --e-botao-hover:#15314B;
  --e-botao-texto:#fff;
  --e-botao-tinta:var(--e-botao-texto); /* mesmo token com o nome que cursos.css e newsletter.css usam */
  --e-selo-turma:#0B5E58;    /* 5,6:1 sobre o fundo do selo */
  --e-selo-cadastro:#6B5320; /* 5,4:1 sobre o fundo do selo */
  --e-ok:#166534;
  --e-ok-fundo:#E3F3E8;
  --e-erro:#991B1B;
  --e-erro-fundo:#FBE9E7;
  --e-atencao:#B45309;
  --e-atencao-fundo:#FEF3E2;
  --e-raio:10px;
  --e-sombra:0 1px 2px rgba(27,39,51,.06),0 8px 24px -12px rgba(27,39,51,.18);
  --e-fonte-titulo:'Fraunces',Georgia,'Times New Roman',serif;
  --e-fonte-texto:'Source Sans 3',system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --e-fonte-mono:ui-monospace,'Cascadia Mono',Consolas,'Liberation Mono',Menlo,monospace;
  --e-acento:var(--e-prim);        /* trocado por trilha: escola / adultos */
  --e-acento-suave:#E8EDF3;
  --e-medida:70ch;                 /* medida de linha para leitura longa */
  --e-largura:76rem;                /* base ~1216px; cresce nas media queries abaixo em telas largas */
  --e-gutter:clamp(1rem,4vw,2.5rem);
  --e-cabecalho:4rem;
  --e-cabecalho-rolado:3.25rem;
}
/* tela larga: o container acompanha o monitor em vez de deixar espaço morto nas laterais */
@media (min-width:75em){:root{--e-largura:80rem}}   /* ~1200px notebook grande */
@media (min-width:90em){:root{--e-largura:90rem}}   /* ~1440px monitor largo */
@media (min-width:100em){:root{--e-largura:100rem}} /* ~1600px+: grades ganham mais colunas */
@media (prefers-color-scheme:dark){
  :root:not([data-tema="claro"]){
    color-scheme:dark;
    --e-papel:#101E2C;
    --e-superficie:#14273A;
    --e-cartao:#17293B;
    --e-tinta:#E4EAF0;
    --e-tinta-2:#AAB8C6;
    --e-prim:#2C5C8A;
    --e-prim-2:#1B3A5C;
    --e-ouro:#D7B76C;
    --e-ouro-texto:#D7B76C;
    --e-escola:#5BD1C9;
    --e-adultos:#E6A3B0;
    --e-borda:#2B3F55;
    --e-link:#9CC7F2;
    --e-foco:#D7B76C;
    --e-borda-campo:#7089A6;
    --e-prim-texto:#9CC7F2;
    --e-botao:#D7B76C;
    --e-botao-hover:#E2C47E;
    --e-botao-texto:#101E2C;
    --e-selo-turma:#5BD1C9;
    --e-selo-cadastro:#E8CD8C;
    --e-acento:#D7B76C;          /* sem trilha: ouro (o #2C5C8A dava 2,4:1 como texto) */
    --e-ok:#86EFAC;
    --e-ok-fundo:#14361F;
    --e-erro:#FCA5A5;
    --e-erro-fundo:#3B1616;
    --e-atencao:#FBBF24;
    --e-atencao-fundo:#3A2A0C;
    --e-sombra:0 1px 2px rgba(0,0,0,.3),0 10px 28px -12px rgba(0,0,0,.6);
    --e-acento-suave:#1F3448;
  }
}
:root[data-tema="escuro"]{
  color-scheme:dark;
  --e-papel:#101E2C;
  --e-superficie:#14273A;
  --e-cartao:#17293B;
  --e-tinta:#E4EAF0;
  --e-tinta-2:#AAB8C6;
  --e-prim:#2C5C8A;
  --e-prim-2:#1B3A5C;
  --e-ouro:#D7B76C;
  --e-ouro-texto:#D7B76C;
  --e-escola:#5BD1C9;
  --e-adultos:#E6A3B0;
  --e-borda:#2B3F55;
  --e-link:#9CC7F2;
  --e-foco:#D7B76C;
  --e-borda-campo:#7089A6;
  --e-prim-texto:#9CC7F2;
  --e-botao:#D7B76C;
  --e-botao-hover:#E2C47E;
  --e-botao-texto:#101E2C;
  --e-selo-turma:#5BD1C9;
  --e-selo-cadastro:#E8CD8C;
  --e-acento:#D7B76C;
  --e-ok:#86EFAC;
  --e-ok-fundo:#14361F;
  --e-erro:#FCA5A5;
  --e-erro-fundo:#3B1616;
  --e-atencao:#FBBF24;
  --e-atencao-fundo:#3A2A0C;
  --e-sombra:0 1px 2px rgba(0,0,0,.3),0 10px 28px -12px rgba(0,0,0,.6);
  --e-acento-suave:#1F3448;
}
/* acento por trilha (classe no body, emitida pelo functions.php) */
.e-trilha-escola{--e-acento:var(--e-escola)}
.e-trilha-adultos{--e-acento:var(--e-adultos)}

/* ==========================================================================
   3. Base tipográfica — escala fluida, leitura longa
   ========================================================================== */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--e-cabecalho-real,var(--e-cabecalho)) + 1rem)}
body{
  font-family:var(--e-fonte-texto);
  font-size:clamp(1.0625rem,1rem + .35vw,1.1875rem); /* 17 → 19 px */
  line-height:1.6;
  color:var(--e-tinta);
  background:var(--e-papel);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-variant-numeric:oldstyle-nums proportional-nums;
  min-height:100svh;
  display:flex;flex-direction:column;
}
[hidden]{display:none!important}
h1,h2,h3,h4,h5,h6{
  font-family:var(--e-fonte-titulo);
  font-variation-settings:"opsz" 144,"SOFT" 30;
  font-weight:600;line-height:1.15;letter-spacing:-.01em;
  color:var(--e-tinta);margin:0 0 .5em;text-wrap:balance;
}
h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.25rem);font-weight:650}
h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem)}
h3{font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem)}
h4{font-size:1.125rem;font-family:var(--e-fonte-texto);font-weight:700;letter-spacing:0}
p{margin:0 0 1.1em}
a{color:var(--e-link);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.15em;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)}
a:hover{text-decoration-color:currentColor}
img,video,svg{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--e-foco);outline-offset:3px;border-radius:4px}
::selection{background:var(--e-ouro);color:#1B2733}
hr{border:0;border-top:1px solid var(--e-borda);margin:2.5rem 0}
small,.e-miudo,.ensino-miudo{font-size:.875em;color:var(--e-tinta-2);opacity:1}
/* o core e o apoio põem opacity:.8 no texto miúdo: derrubava o contraste para 4,2:1 */
body .ensino-miudo,body .ensino-estudo small,body .ensino-atv__notas small{opacity:1}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* ==========================================================================
   4. Botões, campos e alvos de toque (48 px)
   ========================================================================== */
.e-btn,button,input[type=submit],.wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:48px;padding:.6rem 1.4rem;border-radius:var(--e-raio);
  font:inherit;font-size:1.0625rem;font-weight:600;line-height:1.2;
  color:var(--e-botao-texto);background:var(--e-botao);border:1px solid transparent;cursor:pointer;
  text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;
}
.e-btn:hover,button:hover{background:var(--e-botao-hover);transform:translateY(-1px);box-shadow:var(--e-sombra);color:var(--e-botao-texto)}
.e-btn:active,button:active{transform:translateY(0)}
.e-btn--ouro{background:var(--e-ouro);color:#1B2733;border-color:transparent}
.e-btn--ouro:hover{background:#D9BC74;color:#1B2733}
.e-btn--contorno{background:transparent;color:var(--e-tinta);border-color:var(--e-borda)}
.e-btn--contorno:hover{background:var(--e-superficie);color:var(--e-tinta)}
.e-btn--acento{background:var(--e-acento);color:#fff}
.e-btn--acento:hover{background:var(--e-acento);filter:brightness(.92);color:#fff}
:root[data-tema="escuro"] .e-btn--acento,:root[data-tema="escuro"] .e-btn--acento:hover{color:#101E2C}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]) .e-btn--acento,:root:not([data-tema="claro"]) .e-btn--acento:hover{color:#101E2C}}
input[type=text],input[type=email],input[type=search],input[type=url],input[type=number],input[type=password],input[type=tel],textarea,select{
  width:100%;min-height:48px;padding:.6rem .9rem;border:1px solid var(--e-borda-campo);border-radius:var(--e-raio);
  background:var(--e-cartao);color:var(--e-tinta);font:inherit;font-size:1.0625rem;
}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:0;border-color:var(--e-foco)}
input[type=checkbox],input[type=radio]{width:1.25rem;height:1.25rem;accent-color:var(--e-acento)}
label{font-weight:600}
.e-visualmente-oculto,.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.e-pular{position:absolute;left:1rem;top:-4rem;z-index:100;padding:.75rem 1rem;background:var(--e-botao);color:var(--e-botao-texto);border-radius:var(--e-raio)}
.e-pular:focus{top:1rem;outline:3px solid var(--e-foco)}

/* ==========================================================================
   5. Estrutura: container, cabeçalho, navegação, rodapé
   ========================================================================== */
.e-container{width:min(100% - 2*var(--e-gutter),var(--e-largura));margin-inline:auto}
.e-cabecalho{
  position:sticky;top:0;z-index:50;min-height:var(--e-cabecalho);
  background:color-mix(in srgb,var(--e-papel) 88%,transparent);
  backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--e-borda);
  transition:min-height .2s ease,box-shadow .2s ease;
}
/* rolou a página: cabeçalho encolhe (classe .is-rolado vem do tema.js) */
.e-cabecalho.is-rolado{min-height:var(--e-cabecalho-rolado);box-shadow:0 2px 12px -6px rgba(27,39,51,.18)}
.e-cabecalho.is-rolado .e-cabecalho__linha{min-height:var(--e-cabecalho-rolado)}
.e-cabecalho.is-rolado .e-marca__logo{width:2.1rem;height:2.1rem}
.e-cabecalho.is-rolado .e-marca__legenda{max-height:0;opacity:0;margin-top:0}
@media (prefers-reduced-motion:reduce){.e-cabecalho,.e-cabecalho__linha,.e-marca__logo,.e-marca__legenda{transition:none!important}}
/* celular deitado ou texto a 200%: o cabeçalho fixo tomava um terço da tela; aí ele rola com a página */
@media (max-height:30rem){.e-cabecalho{position:static}}
/* menu aberto no celular: rola dentro da própria caixa, nunca além da tela */
@media (max-width:47.99rem){.e-nav--aberto{max-height:calc(100svh - var(--e-cabecalho-real,var(--e-cabecalho)));overflow:auto}}
.e-cabecalho__linha{display:flex;align-items:center;gap:1rem;min-height:var(--e-cabecalho);position:relative;transition:min-height .2s ease}
.e-marca{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--e-tinta);margin-right:auto;min-height:48px}
.e-marca__logo{width:2.6rem;height:2.6rem;flex:none;transition:width .2s ease,height .2s ease}
.e-marca__logo img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.e-marca__logo svg{width:100%;height:100%;display:block}
.e-marca__texto{display:flex;flex-direction:column;justify-content:center;line-height:1.05}
.e-marca__nome{
  font-family:var(--e-fonte-titulo);font-variation-settings:"opsz" 40,"SOFT" 35,"WONK" 0;
  font-weight:600;font-size:clamp(1.25rem,1.1rem + .4vw,1.55rem);line-height:1;letter-spacing:-.015em;color:var(--e-tinta);
}
.e-marca__legenda{
  display:block;font-family:var(--e-fonte-texto);font-weight:600;font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--e-ouro-texto);margin-top:.3rem;
  overflow:hidden;transition:max-height .2s ease,opacity .2s ease,margin-top .2s ease;
}
@media (max-width:29.99rem){.e-marca__legenda{display:none}}
.e-nav{display:flex;align-items:center;gap:.15rem}
.e-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.15rem}
.e-nav a{position:relative;display:inline-flex;align-items:center;min-height:48px;padding:.5rem 1rem;border-radius:var(--e-raio);color:var(--e-tinta);text-decoration:none;font-weight:600;font-size:.98rem;letter-spacing:.005em;transition:background .15s ease,color .15s ease}
.e-nav a:hover{background:var(--e-superficie);color:var(--e-tinta)}
.e-nav .current-menu-item>a,.e-nav .current_page_item>a,.e-nav a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--e-ouro);font-weight:700}
.e-nav .e-nav__cta{margin-left:.4rem}
.e-nav .e-nav__cta a{background:var(--e-botao);color:var(--e-botao-texto);padding-inline:1.25rem;font-weight:700;box-shadow:0 1px 0 rgba(27,39,51,.04)}
.e-nav .e-nav__cta a:hover{background:var(--e-botao-hover);color:var(--e-botao-texto);transform:translateY(-1px)}
.e-nav .e-nav__cta a:active{transform:none}
@media (prefers-reduced-motion:reduce){.e-nav .e-nav__cta a{transition:none}.e-nav .e-nav__cta a:hover{transform:none}}
@media (min-width:48rem){.e-nav a{white-space:nowrap}}
@media (min-width:48rem) and (max-width:74.99rem){.e-nav__cta-nome{display:none}}

/* -- Dropdown do menu ("Atividades" / "Meu painel"): <li class="e-nav__areas"><details><summary>…</summary><ul class="e-nav__sub">…</ul></details></li> -- */
.e-nav__areas{position:relative}
.e-nav__areas summary{
  display:inline-flex;align-items:center;gap:.35rem;min-height:48px;padding:.5rem .9rem;
  border-radius:var(--e-raio);color:var(--e-tinta);font-weight:600;font-size:1rem;
  cursor:pointer;list-style:none;user-select:none;
}
.e-nav__areas summary::-webkit-details-marker{display:none}
.e-nav__areas summary::marker{content:""}
.e-nav__areas summary:hover{background:var(--e-superficie)}
.e-nav__areas.current-menu-ancestor summary{box-shadow:inset 0 -3px 0 var(--e-ouro)}
/* seta que gira ao abrir */
.e-nav__areas summary::after{
  content:"";width:.45rem;height:.45rem;flex:none;margin-left:.1rem;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .2s ease;
}
.e-nav__areas details[open]>summary::after{transform:rotate(-135deg)}

/* Painel suspenso no desktop */
@media (min-width:48rem){
  .e-nav__sub{
    position:absolute;top:calc(100% + .4rem);left:0;z-index:70;margin:0;padding:.6rem;
    min-width:16rem;max-width:34rem;max-height:70vh;overflow:auto;
    display:flex;flex-direction:column;gap:.15rem;flex-wrap:wrap;
    background:var(--e-cartao);border:1px solid var(--e-borda);border-radius:calc(var(--e-raio) + 4px);
    box-shadow:0 18px 40px -16px rgba(27,39,51,.35),0 2px 8px rgba(27,39,51,.08);
  }
  /* até 2 colunas quando houver muitas áreas */
  .e-nav__sub:has(>li:nth-child(6)){flex-direction:row;align-content:flex-start;min-width:26rem}
  .e-nav__sub>li{flex:1 1 15rem;min-width:13rem}
  .e-nav__prof .e-nav__sub{left:auto;right:0}
  .e-nav__sub a{border-radius:calc(var(--e-raio) - 2px)}
  .e-nav__sub-titulo{font-weight:700;color:var(--e-prim-texto);margin-top:.15rem}
  .e-nav__sub li>ul{list-style:none;margin:0 0 .3rem;padding:0}
  .e-nav__sub li>ul a{padding-left:1.6rem;font-weight:500;font-size:.95rem}
}
.e-nav__sub{list-style:none}
.e-nav__sub a{display:flex;align-items:center;min-height:44px;padding:.45rem .75rem;color:var(--e-tinta);text-decoration:none;font-size:.95rem;line-height:1.3}
.e-nav__sub a:hover,.e-nav__sub a:focus-visible{background:var(--e-superficie);color:var(--e-tinta)}
.e-nav__sub li{margin:0}

/* Menu móvel: lista expansível dentro do <details>, sem posicionamento absoluto */
@media (max-width:47.99rem){
  .e-nav__areas{width:100%}
  .e-nav__areas summary{width:100%;padding:.75rem 1rem;font-size:1.1rem}
  .e-nav__sub{
    list-style:none;margin:.15rem 0 .5rem;padding:.25rem 0 .25rem .75rem;
    border-left:2px solid var(--e-borda);display:flex;flex-direction:column;
  }
  .e-nav__sub-titulo{font-weight:700;color:var(--e-prim-texto);padding-top:.4rem}
  .e-nav__sub li>ul{list-style:none;margin:0;padding:0}
  .e-nav__sub li>ul a{padding-left:1.5rem;font-size:.95rem}
}
.e-tema-btn{min-height:48px;min-width:48px;padding:0;background:transparent;color:var(--e-tinta);border:1px solid var(--e-borda);border-radius:50%}
.e-tema-btn:hover{background:var(--e-superficie);color:var(--e-tinta);transform:none;box-shadow:none}
.e-tema-btn svg{width:1.25rem;height:1.25rem}
.e-tema-btn .e-icone-sol{display:none}
:root[data-tema="escuro"] .e-tema-btn .e-icone-sol{display:block}
:root[data-tema="escuro"] .e-tema-btn .e-icone-lua{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-tema="claro"]) .e-tema-btn .e-icone-sol{display:block}
  :root:not([data-tema="claro"]) .e-tema-btn .e-icone-lua{display:none}
}
.e-menu-btn{display:none;min-height:48px;min-width:48px;padding:0;background:transparent;color:var(--e-tinta);border:1px solid var(--e-borda);border-radius:var(--e-raio)}
.e-menu-btn:hover{background:var(--e-superficie);color:var(--e-tinta);transform:none;box-shadow:none}
.e-menu-btn svg{width:1.4rem;height:1.4rem}
.e-menu-btn .e-icone-fechar{display:none}
.e-menu-btn[aria-expanded=true] .e-icone-fechar{display:block}
.e-menu-btn[aria-expanded=true] .e-icone-menu{display:none}
@media (max-width:47.99rem){
  .e-menu-btn{display:inline-flex}
  /* painel lateral (não mais faixa do topo): desliza da direita, com véu por trás */
  .e-nav{
    display:flex;flex-direction:column;align-items:stretch;
    position:fixed;top:0;right:0;bottom:0;left:auto;z-index:80;
    width:min(20rem,86vw);max-width:86vw;
    padding:calc(var(--e-cabecalho-real,var(--e-cabecalho)) + .75rem) 1.1rem 1.5rem;
    background:var(--e-papel);border-bottom:0;border-left:1px solid var(--e-borda);
    box-shadow:-18px 0 40px -20px rgba(27,39,51,.4);
    transform:translateX(100%);visibility:hidden;transition:transform .25s ease,visibility .25s ease;
  }
  .e-nav--aberto{transform:translateX(0);visibility:visible;max-height:none;overflow:auto}
  .e-nav ul{flex-direction:column;align-items:stretch;gap:.15rem}
  .e-nav a{width:100%;padding:.75rem 1rem;font-size:1.1rem}
  .e-nav .e-nav__cta{margin-top:.5rem;margin-left:0}
  .e-nav .e-nav__cta a{justify-content:center}
  .e-marca__nome small{display:none}
  @media (prefers-reduced-motion:reduce){.e-nav{transition:none}}
}
/* véu atrás do painel lateral no celular */
.e-nav-veu{display:none}
@media (max-width:47.99rem){
  .e-nav-veu{
    display:block;position:fixed;inset:0;z-index:75;background:rgba(21,49,75,.35);
    opacity:0;pointer-events:none;transition:opacity .2s ease;
  }
  .e-nav-veu.e-nav-veu--visivel{opacity:1;pointer-events:auto}
  @media (prefers-reduced-motion:reduce){.e-nav-veu{transition:none}}
}
.e-principal{flex:1 0 auto;padding-block:clamp(1.5rem,4vw,3rem)}
.e-rodape{border-top:1px solid var(--e-borda);background:var(--e-superficie);padding:2.5rem 0 2rem;font-size:.95rem;color:var(--e-tinta-2)}
.e-rodape__grade{display:grid;gap:1.5rem;grid-template-columns:1fr}
@media (min-width:48rem){.e-rodape__grade{grid-template-columns:2fr 1fr 1fr}}
.e-rodape h2{font-size:1rem;font-family:var(--e-fonte-texto);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--e-tinta-2);margin-bottom:.6rem}
.e-rodape ul{list-style:none;margin:0;padding:0}
.e-rodape li{margin:.25rem 0}
.e-rodape a{color:var(--e-tinta);display:inline-block;padding:.35rem 0;min-height:44px}
.e-rodape__assinatura{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--e-borda);display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;align-items:center;font-size:.875rem}
.e-rodape__assinatura strong{color:var(--e-tinta);font-weight:600}
.e-rodape__brasao{width:1.1rem;height:1.1rem;vertical-align:-.2em;margin-right:.3rem}

/* ==========================================================================
   6. Início: hero, portas, grade
   ========================================================================== */
.e-hero{position:relative;padding:clamp(2rem,6vw,5rem) 0 clamp(2rem,5vw,3.5rem);overflow:hidden;isolation:isolate}
.e-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 50% at 85% 10%,color-mix(in srgb,var(--e-ouro) 22%,transparent),transparent 70%),radial-gradient(45% 45% at 5% 90%,color-mix(in srgb,var(--e-escola) 12%,transparent),transparent 70%)}
.e-hero__grade{display:grid;gap:2rem;align-items:center;grid-template-columns:1fr}
@media (min-width:60rem){.e-hero__grade{grid-template-columns:1.2fr .8fr}}
.e-hero__sobre{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--e-ouro-texto);margin-bottom:1rem}
.e-hero h1{max-width:18ch;margin-bottom:.6em}
.e-hero h1 em{font-style:italic;font-weight:450;color:var(--e-prim-texto);font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1}
.e-hero__texto{font-size:clamp(1.125rem,1rem + .5vw,1.35rem);max-width:52ch;color:var(--e-tinta-2);text-wrap:pretty}
.e-hero__acoes{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.e-hero__figura{justify-self:center;width:min(100%,22rem)}
@media (max-width:59.99rem){.e-hero__figura{width:min(70%,15rem)}}
/* celular: a ilustração é decorativa; as portas (a decisão principal) sobem para a primeira tela */
@media (max-width:47.99rem){
  .e-hero__figura{display:none}
  .e-hero__acoes .e-btn{flex:1 1 100%}
}
.e-hero__figura svg{width:100%;height:auto;display:block}
.e-portas{display:grid;gap:1.25rem;grid-template-columns:1fr;margin-top:clamp(1.5rem,4vw,3rem)}
@media (min-width:48rem){.e-portas{grid-template-columns:1fr 1fr}}
.e-porta-card{
  --e-acento:var(--e-prim);
  position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1.75rem 1.75rem 1.5rem;
  background:var(--e-cartao);border:1px solid var(--e-borda);border-radius:calc(var(--e-raio) + 6px);
  box-shadow:var(--e-sombra);text-decoration:none;color:var(--e-tinta);overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease;
}
.e-porta-card::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--e-acento),color-mix(in srgb,var(--e-acento) 40%,var(--e-ouro)))}
.e-porta-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px -14px rgba(0,0,0,.35);color:var(--e-tinta)}
.e-porta-card--escola{--e-acento:var(--e-escola)}
.e-porta-card--adultos{--e-acento:var(--e-adultos)}
.e-porta-card__icone{width:3rem;height:3rem;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--e-acento) 14%,transparent);color:var(--e-acento);margin-bottom:.5rem}
.e-porta-card__icone svg{width:1.6rem;height:1.6rem}
.e-porta-card h2{font-size:clamp(1.4rem,1.2rem + 1vw,1.85rem);margin:0}
.e-porta-card p{color:var(--e-tinta-2);margin:0}
.e-porta-card__cta{margin-top:auto;padding-top:.75rem;font-weight:700;color:var(--e-acento);display:inline-flex;align-items:center;gap:.4rem}
.e-porta-card__cta::after{content:"→";transition:transform .2s ease}
.e-porta-card:hover .e-porta-card__cta::after{transform:translateX(4px)}
.e-porta-card__nota{font-size:.875rem;color:var(--e-tinta-2);display:flex;align-items:center;gap:.4rem}
.e-porta-card__nota svg{width:1rem;height:1rem;flex:none;color:var(--e-ok)}
.e-secao{padding-block:clamp(2rem,5vw,3.5rem)}
.e-secao--faixa{background:var(--e-superficie);border-block:1px solid var(--e-borda)}
.e-secao__cabeca{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.5rem 1.5rem;margin-bottom:1.5rem}
.e-secao__cabeca h2{margin:0}
.e-secao__cabeca p{margin:0;color:var(--e-tinta-2)}
.e-secao__cabeca a{white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}
.e-sobrelinha{display:inline-block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--e-acento);margin-bottom:.5rem}

/* ==========================================================================
   7. Grade e cartões de material (.ensino-grade/.ensino-card vêm do core; .e-card é do tema)
   ========================================================================== */
body .ensino-grade,.e-grade{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}
body .ensino-card a,.e-card{
  display:flex;flex-direction:column;gap:.55rem;height:100%;padding:1.25rem 1.25rem 1.1rem;
  background:var(--e-cartao);border:1px solid var(--e-borda);border-radius:calc(var(--e-raio) + 2px);
  color:var(--e-tinta);text-decoration:none;box-shadow:0 1px 0 rgba(27,39,51,.03);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;position:relative;
}
body .ensino-card a:hover,.e-card:hover{transform:translateY(-2px);box-shadow:var(--e-sombra);border-color:color-mix(in srgb,var(--e-ouro) 70%,var(--e-borda));color:var(--e-tinta)}
body .ensino-card strong,.e-card__titulo{font-family:var(--e-fonte-titulo);font-variation-settings:"opsz" 48,"SOFT" 30;font-weight:600;font-size:1.25rem;line-height:1.2;letter-spacing:-.01em;text-wrap:balance}
body .ensino-card span:last-child:not(.ensino-selo),.e-card__resumo{font-size:.95rem;color:var(--e-tinta-2);opacity:1;line-height:1.45}
.e-card__rodape{margin-top:auto;padding-top:.6rem;display:flex;flex-wrap:wrap;gap:.4rem .8rem;font-size:.85rem;color:var(--e-tinta-2)}
.e-card__rodape span+span::before{content:"·";margin-right:.6rem}
.e-card--escola{border-left:4px solid var(--e-escola)}
.e-card--adultos{border-left:4px solid var(--e-adultos)}
body .ensino-selo,.e-selo{
  align-self:flex-start;display:inline-flex;align-items:center;gap:.3rem;font-family:var(--e-fonte-texto);
  font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1;
  padding:.35rem .6rem;border-radius:99px;background:var(--e-acento-suave);color:var(--e-prim-texto);
}
body .ensino-selo--livre,.e-selo--livre{background:var(--e-ok-fundo);color:var(--e-ok)}
body .ensino-selo--turma,.e-selo--turma{background:color-mix(in srgb,var(--e-escola) 14%,transparent);color:var(--e-selo-turma)}
body .ensino-selo--cadastro,.e-selo--cadastro{background:color-mix(in srgb,var(--e-ouro) 28%,transparent);color:var(--e-selo-cadastro)}
/* o estado do acesso não depende só da cor: cadeado (trancado) ou visto (gratuito / já liberado) */
body .ensino-selo--livre::before,.e-selo--livre::before,body .ensino-selo--turma::before,.e-selo--turma::before,
body .ensino-selo--cadastro::before,.e-selo--cadastro::before,body .ensino-selo--apoio::before,.e-selo--apoio::before{
  content:"";width:.95em;height:.95em;flex:none;background:currentColor;
  mask:var(--e-selo-icone) center/contain no-repeat;-webkit-mask:var(--e-selo-icone) center/contain no-repeat;
  --e-selo-icone: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.6' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='11' width='16' height='10' rx='2'/><path d='M8 11V7a4 4 0 0 1 8 0v4'/></svg>");
}
body .ensino-selo--livre::before,.e-selo--livre::before,body .ensino-selo.ensino-selo--liberado::before,.e-selo.e-selo--liberado::before{
  --e-selo-icone: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='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>");
}
body .ensino-selo--apoio::before,.e-selo--apoio::before{
  --e-selo-icone: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.4' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2 4 5v6c0 5 3.4 9.4 8 11 4.6-1.6 8-6 8-11V5l-8-3z'/></svg>");
}
body .ensino-selo--apoio,.e-selo--apoio{background:color-mix(in srgb,var(--e-ouro) 28%,transparent);color:var(--e-selo-cadastro)}
.e-vazio{padding:2rem;border:1px dashed var(--e-borda);border-radius:var(--e-raio);text-align:center;color:var(--e-tinta-2)}

/* ==========================================================================
   8. Arquivo e filtro visual (trilha, disciplina, acesso)
   ========================================================================== */
.e-arquivo__cabeca{margin-bottom:1.75rem;max-width:60ch}
.e-arquivo__cabeca h1{margin-bottom:.35em}
.e-arquivo__cabeca p{color:var(--e-tinta-2);font-size:1.1rem;margin:0}
.e-filtros{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.75rem;padding:1rem 1.25rem;background:var(--e-superficie);border:1px solid var(--e-borda);border-radius:calc(var(--e-raio) + 2px)}
.e-filtros__grupo{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.e-filtros__rotulo{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--e-tinta-2);margin-right:.35rem;min-width:5.5rem}
.e-chip{display:inline-flex;align-items:center;min-height:44px;padding:.35rem .9rem;border-radius:99px;border:1px solid var(--e-borda);background:var(--e-cartao);color:var(--e-tinta);text-decoration:none;font-size:.95rem;font-weight:600}
.e-chip:hover{border-color:var(--e-ouro);color:var(--e-tinta)}
/* chip atual: o primário do tema (marinho + branco no claro; ouro + marinho-escuro no escuro) */
.e-chip[aria-current=page],.e-chip--ativo{background:var(--e-botao);border-color:var(--e-botao);color:var(--e-botao-texto)}
.e-chip--escola[aria-current=page]{background:var(--e-escola);border-color:var(--e-escola);color:#fff}
.e-chip--adultos[aria-current=page]{background:var(--e-adultos);border-color:var(--e-adultos);color:#fff}
:root[data-tema="escuro"] .e-chip--escola[aria-current=page],:root[data-tema="escuro"] .e-chip--adultos[aria-current=page]{color:#101E2C}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]) .e-chip--escola[aria-current=page],:root:not([data-tema="claro"]) .e-chip--adultos[aria-current=page]{color:#101E2C}}
.e-paginacao{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:2rem}
.e-paginacao .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:.5rem .9rem;border:1px solid var(--e-borda);border-radius:var(--e-raio);background:var(--e-cartao);text-decoration:none;color:var(--e-tinta);font-weight:600}
.e-paginacao .page-numbers.current{background:var(--e-botao);border-color:var(--e-botao);color:var(--e-botao-texto)}
.e-paginacao .page-numbers.dots{border:0;background:transparent}

/* ==========================================================================
   9. Página de material: leitura longa, barra de progresso, sumário, prosa
   ========================================================================== */
.e-progresso{position:fixed;top:0;left:0;z-index:60;width:100%;height:4px;background:var(--e-ouro);transform-origin:0 50%;transform:scaleX(0);display:none;pointer-events:none}
@supports (animation-timeline:scroll()){
  .e-progresso{display:block;animation:e-progresso linear both;animation-timeline:scroll(root)}
}
@keyframes e-progresso{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.e-material__cabeca{max-width:var(--e-medida);margin:0 auto 2rem}
.e-material__meta{display:flex;flex-wrap:wrap;align-items:center;gap:0 .9rem;margin-bottom:1rem;font-size:.95rem;color:var(--e-tinta-2)}
.e-material__meta a{color:inherit;display:inline-flex;align-items:center;min-height:44px}
.e-material__volta{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;margin:0 0 .25rem;font-weight:700;color:var(--e-link);text-decoration:none}
.e-material__volta::before{content:"←"}
.e-material__volta:hover{text-decoration:underline}
/* material que é uma atividade: o título da atividade repete o H1; some da vista (fica para o leitor de tela) */
.e-material[data-e-atividade="mesmo-titulo"] .ensino-atv__titulo{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.e-material__depois{max-width:var(--e-medida);margin:1.5rem auto 0;display:flex;flex-wrap:wrap;gap:.6rem}
.e-material__depois a{flex:1 1 14rem}
/* com sumário lateral, cabeçalho e "Continue por aqui" alinham com a coluna do texto */
@media (min-width:68.75rem){
  .e-material[data-e-lateral] .e-material__cabeca{max-width:none;width:min(100%,20rem + var(--e-medida));padding-left:20rem}
  .e-material[data-e-lateral] .e-relacionados{max-width:calc(20rem + var(--e-medida));margin-inline:auto;padding-left:20rem}
}
.e-material__cabeca h1{margin-bottom:.4em}
.e-material__resumo{font-size:clamp(1.125rem,1rem + .5vw,1.3rem);color:var(--e-tinta-2);text-wrap:pretty;margin:0}
.e-material__tempo{font-size:.9rem;color:var(--e-tinta-2)}
.e-leitura{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr);justify-content:center}
.e-leitura__corpo{max-width:var(--e-medida);width:100%;margin:0 auto;min-width:0}
@media (min-width:68.75rem){
  .e-leitura--com-sumario{grid-template-columns:17rem minmax(0,var(--e-medida));justify-content:center;column-gap:3rem}
  .e-leitura--com-sumario .e-leitura__corpo{margin:0}
  .e-lateral{position:sticky;top:calc(var(--e-cabecalho) + 1.25rem);align-self:start;max-height:calc(100vh - var(--e-cabecalho) - 2.5rem);overflow:auto;display:flex;flex-direction:column;gap:1rem}
  .e-sumario summary{pointer-events:none;list-style:none}
  .e-sumario summary::-webkit-details-marker{display:none}
  .e-sumario summary::marker{content:""}
}
.e-sumario{border:1px solid var(--e-borda);border-radius:var(--e-raio);background:var(--e-superficie);padding:.25rem 1rem;font-size:.95rem}
.e-sumario summary{cursor:pointer;padding:.65rem 0;min-height:48px;display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--e-tinta-2)}
.e-sumario summary::-webkit-details-marker{display:none}
.e-sumario summary::after{content:"";width:.5rem;height:.5rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:auto;transition:transform .2s ease}
.e-sumario[open] summary::after{transform:rotate(-135deg)}
.e-sumario ol{list-style:none;margin:0 0 .75rem;padding:0;counter-reset:sumario}
.e-sumario li{counter-increment:sumario}
.e-sumario a{display:flex;align-items:center;min-height:44px;gap:.6rem;padding:.45rem 0;color:var(--e-tinta);text-decoration:none;line-height:1.35;border-left:2px solid transparent;padding-left:.6rem;margin-left:-.6rem}
.e-sumario a::before{content:counter(sumario,decimal-leading-zero);font-family:var(--e-fonte-mono);font-size:.75rem;color:var(--e-ouro-texto);padding-top:.15em}
.e-sumario a:hover{color:var(--e-link);border-left-color:var(--e-ouro)}
.e-sumario a[aria-current]{color:var(--e-link);border-left-color:var(--e-ouro);font-weight:600}

/* Prosa: conteúdo do editor e material longo */
.e-prosa{font-size:clamp(1.0625rem,1rem + .4vw,1.2rem);line-height:1.68;color:var(--e-tinta);max-width:var(--e-medida)}
.e-prosa>*{max-width:100%}
.e-prosa>*+*{margin-top:1.15em}
.e-prosa p{margin:0}
/* Títulos da prosa: só os editoriais. Os que os plugins emitem (classe ensino-*: atividade, newsletter, funil)
   têm estilo próprio e não herdam o fio, o vão de 2,4em nem a cor. :where() mantém a especificidade (0,1,1). */
.e-prosa h2:where(:not([class*="ensino-"])){margin-top:2.4em;margin-bottom:.5em;padding-top:.6em;border-top:1px solid var(--e-borda);font-size:clamp(1.55rem,1.25rem + 1.1vw,2rem)}
.e-prosa h2:where(:not([class*="ensino-"])):first-child{margin-top:0;border-top:0;padding-top:0}
.e-prosa h3:where(:not([class*="ensino-"])){margin-top:1.8em;margin-bottom:.4em;font-size:clamp(1.25rem,1.1rem + .5vw,1.45rem);color:var(--e-prim-texto)}
.e-prosa h4{margin-top:1.5em;margin-bottom:.3em}
.e-prosa h2 .e-ancora,.e-prosa h3 .e-ancora{margin-left:.35em;font-family:var(--e-fonte-texto);font-weight:400;font-size:.7em;color:var(--e-tinta-2);text-decoration:none;opacity:0}
.e-prosa h2:hover .e-ancora,.e-prosa h3:hover .e-ancora,.e-prosa .e-ancora:focus-visible{opacity:1}
/* tela de toque não tem hover: a âncora invisível virava alvo tocável de 8 px */
@media (hover:none){.e-prosa .e-ancora{display:none}}
/* Listas da prosa: especificidade zero (:where) para qualquer lista de componente (atividade, funil, versões)
   ganhar com a própria classe; o marcador ▸ vem de list-style-type, então list-style:none do componente o desliga. */
:where(.e-prosa) :is(ul,ol){padding-left:1.4em;margin:0}
:where(.e-prosa) li{margin:.35em 0;padding-left:.2em}
:where(.e-prosa) li::marker{color:var(--e-ouro-texto);font-weight:700}
:where(.e-prosa) ul{list-style-type:"▸  "}
.e-prosa .ensino-grade,.e-prosa .e-grade{padding-left:0}
.e-prosa .ensino-grade>li,.e-prosa .e-grade>li{margin:0;padding-left:0;list-style:none}
.e-prosa .ensino-grade>li::marker,.e-prosa .e-grade>li::marker{content:none}
.e-prosa strong{font-weight:700;color:var(--e-tinta)}
.e-prosa em{font-style:italic}
.e-prosa mark{background:color-mix(in srgb,var(--e-ouro) 40%,transparent);color:inherit;padding:.05em .2em;border-radius:3px}
.e-prosa a{font-weight:600}
.e-prosa blockquote,.wp-block-quote{
  margin:1.6em 0;padding:1rem 1.25rem 1rem 1.5rem;border-left:4px solid var(--e-ouro);
  background:var(--e-superficie);border-radius:0 var(--e-raio) var(--e-raio) 0;
  font-family:var(--e-fonte-titulo);font-variation-settings:"opsz" 18,"SOFT" 60;font-style:italic;font-weight:450;font-size:1.08em;line-height:1.55;color:var(--e-tinta);
}
.e-prosa blockquote p{margin:0}
.e-prosa blockquote p+p{margin-top:.75em}
.e-prosa blockquote cite,.e-prosa blockquote footer{display:block;margin-top:.75em;font-family:var(--e-fonte-texto);font-style:normal;font-size:.85em;color:var(--e-tinta-2)}
.e-prosa blockquote cite::before{content:"— "}
.e-prosa code,.e-prosa kbd{font-family:var(--e-fonte-mono);font-size:.88em;padding:.12em .4em;border-radius:5px;background:var(--e-acento-suave);color:var(--e-tinta);border:1px solid var(--e-borda)}
.e-prosa kbd{border-bottom-width:2px;font-size:.82em}
.e-prosa pre{margin:1.4em 0;padding:1rem 1.25rem;overflow:auto;border-radius:var(--e-raio);background:#15314B;color:#E4EAF0;border:1px solid var(--e-borda);font-family:var(--e-fonte-mono);font-size:.9em;line-height:1.55;tab-size:2}
.e-prosa pre code{padding:0;background:transparent;border:0;color:inherit;font-size:inherit}
.e-prosa .wp-block-code{border:0}
.e-prosa figure,.e-prosa .wp-block-image{margin:1.6em 0}
.e-prosa figure img,.e-prosa img{border-radius:var(--e-raio);display:block;box-shadow:var(--e-sombra)}
.e-prosa figcaption{margin-top:.6em;font-size:.875rem;color:var(--e-tinta-2);text-align:center;line-height:1.4}
.e-prosa .alignwide{max-width:none;width:min(100%,var(--e-largura));margin-inline:auto}
.e-prosa .alignfull{max-width:none;width:100vw;margin-left:calc(50% - 50vw)}
.e-prosa hr,.wp-block-separator{border:0;border-top:1px solid var(--e-borda);margin:2.5em auto;width:6rem}
.e-prosa .wp-block-separator.is-style-wide{width:100%}
/* Tabela: cabeçalho marinho, zebra suave, rolagem em telas estreitas */
.e-prosa table,.e-tabela-wrap table{width:100%;border-collapse:collapse;font-size:.95em;line-height:1.45;font-variant-numeric:tabular-nums}
.e-tabela-wrap,.e-prosa .wp-block-table{overflow-x:auto;margin:1.6em 0;border:1px solid var(--e-borda);border-radius:var(--e-raio);background:var(--e-cartao);-webkit-overflow-scrolling:touch}
.e-prosa .wp-block-table table{margin:0}
.e-prosa thead th,.e-prosa th{text-align:left;background:var(--e-prim-2);color:#fff;font-weight:600;padding:.7rem .9rem;font-family:var(--e-fonte-texto);letter-spacing:.01em}
.e-prosa td{padding:.65rem .9rem;border-top:1px solid var(--e-borda);vertical-align:top}
.e-prosa tbody tr:nth-child(even) td{background:var(--e-papel)}
.e-prosa tbody th{background:var(--e-superficie);color:var(--e-tinta);border-top:1px solid var(--e-borda)}
.e-prosa caption{caption-side:bottom;padding:.6rem;font-size:.875rem;color:var(--e-tinta-2)}
.e-prosa .wp-block-table figcaption{margin:0;padding:.6rem}
/* Caixas de estudo: .e-caixa--dica / --atencao / --exemplo (também aceitam .e-caixa--nota) */
.e-caixa{
  --e-caixa-cor:var(--e-prim-texto);
  position:relative;margin:1.6em 0;padding:1rem 1.25rem 1rem 1.4rem;
  border:1px solid color-mix(in srgb,var(--e-caixa-cor) 35%,var(--e-borda));border-left:5px solid var(--e-caixa-cor);
  border-radius:var(--e-raio);background:color-mix(in srgb,var(--e-caixa-cor) 7%,var(--e-cartao));font-size:.97em;
}
.e-caixa>:first-child{margin-top:0}.e-caixa>:last-child{margin-bottom:0}
.e-caixa>*+*{margin-top:.7em}
.e-caixa__titulo,.e-caixa>strong:first-child,.e-caixa>p:first-child>strong:only-child{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--e-fonte-texto);font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--e-caixa-cor);margin-bottom:.35em}
.e-caixa__titulo::before{content:"";width:1.1rem;height:1.1rem;flex:none;background:currentColor;mask:var(--e-caixa-icone) center/contain no-repeat;-webkit-mask:var(--e-caixa-icone) center/contain no-repeat}
.e-caixa--dica{--e-caixa-cor:var(--e-escola);--e-caixa-icone: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' stroke-linecap='round' stroke-linejoin='round'><path d='M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7V17h8v-2.3A7 7 0 0 0 12 2z'/></svg>")}
.e-caixa--atencao{--e-caixa-cor:var(--e-erro);--e-caixa-icone: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' stroke-linecap='round' stroke-linejoin='round'><path d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0zM12 9v4M12 17h.01'/></svg>")}
.e-caixa--exemplo{--e-caixa-cor:var(--e-ouro-texto);--e-caixa-icone: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' stroke-linecap='round' stroke-linejoin='round'><path d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20M4 19.5A2.5 2.5 0 0 0 6.5 22H20V2H6.5A2.5 2.5 0 0 0 4 4.5v15z'/></svg>")}
.e-caixa--nota{--e-caixa-cor:var(--e-tinta-2);--e-caixa-icone: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' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M12 16v-4M12 8h.01'/></svg>")}
.e-prosa .e-caixa--atencao{--e-caixa-cor:#9A4507} /* 5,7:1 no fundo da caixa (o #B45309 dava 4,45) */
:root[data-tema="escuro"] .e-prosa .e-caixa--atencao{--e-caixa-cor:#FBBF24}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]) .e-prosa .e-caixa--atencao{--e-caixa-cor:#FBBF24}}
/* Arquivos do material (core) */
body .ensino-arquivos{margin-top:2.5rem;padding:1.25rem 1.5rem;border:1px solid var(--e-borda);border-radius:var(--e-raio);background:var(--e-superficie)}
body .ensino-arquivos h3{margin:0 0 .6rem;font-size:1.15rem}
body .ensino-arquivos ul{list-style:none;margin:0;padding:0}
body .ensino-arquivos li{padding:.5rem 0;border-top:1px solid var(--e-borda);display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
body .ensino-arquivos li:first-child{border-top:0}
body .ensino-arquivos a{font-weight:600;min-height:44px;display:inline-flex;align-items:center;gap:.4rem}
body .ensino-arquivos a::before{content:"";width:1.1rem;height:1.1rem;background:currentColor;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' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3'/></svg>") center/contain no-repeat;-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' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3'/></svg>") center/contain no-repeat}
.e-material__rodape{max-width:var(--e-medida);margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid var(--e-borda)}
.e-material__rodape h2{font-size:1.2rem}
.e-relacionados{margin-top:3rem}
.e-relacionados h2{font-size:1.4rem;margin-bottom:1rem}
.e-resumo-trancado,body .ensino-resumo{max-width:var(--e-medida);font-size:1.1em;color:var(--e-tinta-2)}

/* ==========================================================================
   10. A porta (.ensino-porta): convite, não bloqueio
   ========================================================================== */
body .ensino-porta{
  --e-acento-porta:var(--e-acento);
  position:relative;max-width:34rem;margin:2rem 0;padding:1.75rem 1.75rem 1.5rem;
  background:var(--e-cartao);border:1px solid var(--e-borda);border-radius:calc(var(--e-raio) + 6px);
  box-shadow:var(--e-sombra);overflow:hidden;color:inherit;
}
body .ensino-porta::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--e-acento-porta),var(--e-ouro))}
body .ensino-porta--turma{--e-acento-porta:var(--e-escola)}
body .ensino-porta--cadastro{--e-acento-porta:var(--e-adultos)}
body .ensino-porta::after{
  content:"";position:absolute;right:1.5rem;top:1.5rem;width:2.75rem;height:2.75rem;opacity:.9;
  background:var(--e-acento-porta);
  mask:var(--e-porta-icone) center/contain no-repeat;-webkit-mask:var(--e-porta-icone) center/contain no-repeat;
}
/* ícone padrão (chave): nenhuma variante futura cai no quadrado sólido */
body .ensino-porta{--e-porta-icone: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='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12a5 5 0 1 0 10 0 5 5 0 0 0-10 0z'/><path d='M12 12h10l-2 2M18 12l2 2-2 2M16 12v3'/></svg>")}
body .ensino-porta--turma{--e-porta-icone: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='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12a5 5 0 1 0 10 0 5 5 0 0 0-10 0z'/><path d='M12 12h10l-2 2M18 12l2 2-2 2M16 12v3'/></svg>")}
body .ensino-porta--cadastro{--e-porta-icone: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='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2'/><path d='m3 7 9 6 9-6'/></svg>")}
/* porta de apoio (professores e responsáveis): ouro e escudo, não o acento da escola */
body .ensino-porta--apoio{--e-acento-porta:var(--e-ouro-texto);--e-porta-icone: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='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2 4 5v6c0 5 3.4 9.4 8 11 4.6-1.6 8-6 8-11V5l-8-3z'/><path d='m9 12 2 2 4-4'/></svg>")}
body .ensino-porta :is(h2,h3){font-size:clamp(1.35rem,1.2rem + .8vw,1.7rem);margin:.25rem 3.25rem .5rem 0;padding:0;border:0;color:var(--e-tinta)}
body .ensino-porta>p{color:var(--e-tinta-2);margin:0 0 1rem;font-size:1.02em}
body .ensino-porta label{display:block;margin:.85rem 0 .3rem;font-weight:600;color:var(--e-tinta)}
body .ensino-porta input[type=text],body .ensino-porta input[type=email],body .ensino-porta input[type=password]{width:100%;min-height:52px;padding:.7rem .9rem;font-size:1.1rem;border:1.5px solid var(--e-borda-campo);border-radius:var(--e-raio);background:var(--e-cartao);color:var(--e-tinta);box-sizing:border-box}
body .ensino-porta--turma input[type=text]{font-family:var(--e-fonte-mono);letter-spacing:.14em;text-transform:uppercase;font-size:1.2rem;text-align:center}
body .ensino-porta input:focus-visible{border-color:var(--e-acento-porta);outline-color:var(--e-acento-porta)}
body .ensino-porta .ensino-check{font-weight:400;display:flex;gap:.6rem;align-items:flex-start;line-height:1.45;font-size:.98em;margin:.75rem 0 0}
body .ensino-porta .ensino-check input{margin-top:.25rem;flex:none;accent-color:var(--e-acento-porta)}
body .ensino-porta button{margin-top:1.1rem;width:100%;min-height:52px;padding:.7rem 1.4rem;font-size:1.1rem;font-weight:700;border:0;border-radius:var(--e-raio);background:var(--e-acento-porta);color:#fff;cursor:pointer}
body .ensino-porta button:hover{background:var(--e-acento-porta);filter:brightness(.92);transform:translateY(-1px)}
/* escuro: um primário só (ouro com texto escuro); o acento da porta fica na faixa e no ícone */
:root[data-tema="escuro"] .ensino-porta button{background:var(--e-botao);color:var(--e-botao-texto)}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]) .ensino-porta button{background:var(--e-botao);color:var(--e-botao-texto)}}
/* abas de perfil (aluno / pais / professores, do ensino-perfis) dentro da porta: controle segmentado, como as abas
   do funil; sem isso herdavam o botão de largura cheia da porta e, no escuro, texto escuro sobre fundo escuro (1,1:1) */
body .ensino-perfil-abas{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin:.25rem 0 1rem;padding:4px;border-radius:calc(var(--e-raio) + 2px);background:var(--e-superficie);border:1px solid var(--e-borda)}
body .ensino-perfil-abas button[role=tab],body .ensino-porta .ensino-perfil-abas button[role=tab]{margin:0;width:auto;min-height:48px;padding:.4rem .6rem;border:0;border-radius:var(--e-raio);background:transparent;color:var(--e-tinta);font-size:1rem;font-weight:600;line-height:1.25;text-align:center;filter:none;transform:none;box-shadow:none}
@media (min-width:30rem){body .ensino-perfil-abas{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}}
body .ensino-perfil-abas button[role=tab]:hover,body .ensino-porta .ensino-perfil-abas button[role=tab]:hover{background:var(--e-cartao);color:var(--e-tinta)}
body .ensino-perfil-abas button[role=tab][aria-selected=true],body .ensino-porta .ensino-perfil-abas button[role=tab][aria-selected=true]{background:var(--e-escola);color:#fff;box-shadow:var(--e-sombra)}
:root[data-tema="escuro"] body .ensino-porta .ensino-perfil-abas button[role=tab]:not([aria-selected=true]){color:var(--e-tinta)}
:root[data-tema="escuro"] body .ensino-porta .ensino-perfil-abas button[role=tab][aria-selected=true]{color:#0B1A26}
@media (prefers-color-scheme:dark){
  :root:not([data-tema="claro"]) body .ensino-porta .ensino-perfil-abas button[role=tab]:not([aria-selected=true]){color:var(--e-tinta)}
  :root:not([data-tema="claro"]) body .ensino-porta .ensino-perfil-abas button[role=tab][aria-selected=true]{color:#0B1A26}
}
body .ensino-porta .ensino-miudo{margin:.9rem 0 0;font-size:.85em}
body .ensino-aviso{padding:.75rem 1rem;border-radius:var(--e-raio);margin:0 0 1rem;font-weight:600;border:1px solid transparent}
body .ensino-aviso--ok{background:var(--e-ok-fundo);color:var(--e-ok);border-color:color-mix(in srgb,var(--e-ok) 30%,transparent)}
body .ensino-aviso--erro{background:var(--e-erro-fundo);color:var(--e-erro);border-color:color-mix(in srgb,var(--e-erro) 30%,transparent)}
/* porta trancada dentro de material: centralizada e com moldura */
.e-trancado{max-width:var(--e-medida);margin:0 auto}
.e-trancado .ensino-porta{margin-inline:auto}
.e-trancado__previa{position:relative;margin-bottom:-1rem;pointer-events:none;user-select:none}
.e-trancado__previa::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent,var(--e-papel))}

/* ==========================================================================
   11. Páginas comuns, busca, 404
   ========================================================================== */
.e-pagina__cabeca{max-width:var(--e-medida);margin:0 auto 1.5rem}
.e-pagina__cabeca h1{margin-bottom:.3em}
.e-pagina .e-prosa{margin-inline:auto}
.e-pagina--larga .e-pagina__cabeca{margin-inline:0}
.e-pagina--larga .e-prosa{max-width:none}
.e-pagina--larga .e-prosa>p{max-width:var(--e-medida)}
.e-busca-form{display:flex;gap:.5rem;max-width:34rem}
.e-busca-form input{flex:1}
.e-busca-form button{flex:none}
.e-resultado{padding:1.25rem 0;border-top:1px solid var(--e-borda)}
.e-resultado:first-of-type{border-top:0}
.e-resultado h2{font-size:1.3rem;margin-bottom:.2em}
.e-resultado p{margin:0;color:var(--e-tinta-2)}
.e-404{text-align:center;padding:3rem 0;max-width:40rem;margin:0 auto}
.e-404__num{font-family:var(--e-fonte-titulo);font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;font-style:italic;font-weight:300;font-size:clamp(5rem,20vw,9rem);line-height:1;color:var(--e-ouro);margin:0}
.e-404 .e-busca-form{margin:1.5rem auto}
.e-404__acoes{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}
.e-conteudo-livre img{border-radius:var(--e-raio)}

/* ==========================================================================
   12. Utilidades e blocos do editor
   ========================================================================== */
.e-prosa .wp-block-columns{gap:1.5rem}
.e-prosa .wp-block-buttons{gap:.75rem}
.wp-block-button__link{border-radius:var(--e-raio)!important}
.e-prosa .has-text-align-center{text-align:center}
.e-prosa .wp-block-embed iframe{max-width:100%}
.e-prosa .wp-block-details{border:1px solid var(--e-borda);border-radius:var(--e-raio);padding:.5rem 1rem;background:var(--e-superficie)}
.e-prosa .wp-block-details summary{cursor:pointer;font-weight:700;padding:.5rem 0;min-height:44px;display:flex;align-items:center}
.alignleft{float:left;margin:0 1.5rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1.5rem}.aligncenter{display:block;margin-inline:auto}
.wp-caption{max-width:100%}
.sticky{}
.bypostauthor{}
@media print{
  .e-cabecalho,.e-rodape,.e-progresso,.e-sumario,.e-menu-btn,.e-tema-btn,.e-relacionados{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  .e-prosa{max-width:none}
  a{color:#000;text-decoration:none}
}

/* ==========================================================================
   13. Integração com os plugins: cursos (ensino-curso-*), novidades, newsletter (ensino-nl-*)
   O CSS dos plugins é só estrutural e carrega antes deste; aqui a aparência final.
   ========================================================================== */
/* Botão genérico do plugin */
body .ensino-botao{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.6rem 1.4rem;border-radius:var(--e-raio);font:inherit;font-size:1.0625rem;font-weight:600;line-height:1.2;color:#fff;background:var(--e-acento);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
body .ensino-botao:hover{filter:brightness(.94);transform:translateY(-1px);box-shadow:var(--e-sombra);color:#fff}
body .ensino-botao--secundario{background:transparent;color:var(--e-tinta);border-color:var(--e-borda)}
body .ensino-botao--secundario:hover{background:var(--e-superficie);color:var(--e-tinta);filter:none}
body .ensino-botao[aria-pressed="true"]{background:var(--e-ok-fundo);color:var(--e-ok);border-color:color-mix(in srgb,var(--e-ok) 35%,transparent)}
/* escuro: o mesmo primário do tema (ouro + texto escuro) em qualquer trilha, como .e-btn e o CTA do menu */
:root[data-tema="escuro"] .ensino-botao:not(.ensino-botao--secundario):not([aria-pressed="true"]){background:var(--e-botao);color:var(--e-botao-texto)}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]) .ensino-botao:not(.ensino-botao--secundario):not([aria-pressed="true"]){background:var(--e-botao);color:var(--e-botao-texto)}}

/* Página do curso (taxonomy-curso.php) */
.e-curso__cabeca{display:grid;gap:1.5rem;align-items:start;margin-bottom:2rem;padding:clamp(1.5rem,4vw,2.5rem);border:1px solid var(--e-borda);border-radius:calc(var(--e-raio) + 6px);background:var(--e-cartao);position:relative;overflow:hidden;box-shadow:var(--e-sombra)}
.e-curso__cabeca::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--e-acento),var(--e-ouro))}
@media (min-width:56rem){.e-curso__cabeca{grid-template-columns:1.4fr 1fr;gap:2.5rem}}
.e-curso__intro h1{margin:.2em 0 .4em}
.e-curso__descricao{font-size:clamp(1.1rem,1rem + .4vw,1.25rem);color:var(--e-tinta-2);max-width:52ch;margin:0 0 1rem;text-wrap:pretty}
.e-curso__fatos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem .6rem;font-size:.9rem;color:var(--e-tinta-2)}
.e-curso__fatos li{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .7rem;border-radius:99px;background:var(--e-superficie);border:1px solid var(--e-borda)}
.e-curso__fatos strong{color:var(--e-tinta);font-variant-numeric:lining-nums}
.e-curso__acao{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;border-radius:var(--e-raio);background:var(--e-superficie);border:1px solid var(--e-borda)}
.e-curso__acao .ensino-curso-progresso{margin:0}
body .ensino-curso-continuar{margin:0;display:flex;flex-direction:column;gap:.6rem}
body .ensino-curso-continuar .ensino-botao{width:100%}
.e-curso .e-curso__modulos{margin:0;padding:0;border:0;background:none;font-size:inherit}
.e-curso .e-curso__modulos-titulo{font-family:var(--e-fonte-titulo);font-size:clamp(1.4rem,1.2rem + .8vw,1.8rem);font-weight:600;text-transform:none;letter-spacing:-.01em;color:var(--e-tinta);margin:0 0 1rem;padding:0;line-height:1.15}
.e-curso .ensino-curso-aula a{font-size:1rem;min-height:48px;align-items:center}
.e-curso .ensino-curso-aula__titulo{font-size:1.05rem}
.e-curso .ensino-curso-modulo{margin:0 0 1rem;padding:0 1.25rem;border:1px solid var(--e-borda);border-radius:calc(var(--e-raio) + 2px);background:var(--e-cartao)}
.e-curso .ensino-curso-modulo summary{padding:1rem 0;font-family:var(--e-fonte-titulo);font-variation-settings:"opsz" 48,"SOFT" 30;font-size:1.25rem;font-weight:600}
.e-curso .ensino-curso-modulo__desc{margin:0 0 .75rem;color:var(--e-tinta-2)}
.e-curso .ensino-curso-aulas{padding:0 0 .5rem}
.e-curso .ensino-curso-aula{padding:.6rem 0}
.e-curso .ensino-curso-aulas--soltas{padding:.5rem 1.25rem;border:1px solid var(--e-borda);border-radius:calc(var(--e-raio) + 2px);background:var(--e-cartao)}

/* Progresso (<progress>) */
body .ensino-curso-progresso{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:1rem 0;font-size:.9rem;color:var(--e-tinta-2)}
body .ensino-curso-progresso progress{flex:1 1 8rem;max-width:none;width:100%;height:.6rem;border:0;border-radius:99px;overflow:hidden;background:var(--e-borda);accent-color:var(--e-acento)}
body .ensino-curso-progresso progress::-webkit-progress-bar{background:var(--e-borda);border-radius:99px}
body .ensino-curso-progresso progress::-webkit-progress-value{background:linear-gradient(90deg,var(--e-acento),var(--e-ouro));border-radius:99px}
body .ensino-curso-progresso progress::-moz-progress-bar{background:var(--e-acento);border-radius:99px}
body .ensino-curso-progresso span{flex:0 1 auto;min-width:0;overflow-wrap:anywhere}

/* Módulos e aulas (sumário do curso e página do curso) */
body .ensino-curso-modulo summary{display:flex;align-items:center;gap:.6rem;cursor:pointer;min-height:48px;padding:.5rem 0;font-weight:700;list-style:none}
body .ensino-curso-modulo summary::-webkit-details-marker{display:none}
body .ensino-curso-modulo summary::after{content:"";width:.5rem;height:.5rem;flex:none;margin-left:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease;opacity:.7}
body .ensino-curso-modulo[open]>summary::after{transform:rotate(-135deg)}
body .ensino-curso-modulo summary .ensino-miudo{font-weight:500;white-space:nowrap}
body .ensino-curso-aulas{list-style:none;margin:0;padding:0}
body .ensino-curso-aula{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;padding:.45rem 0;border-top:1px solid var(--e-borda)}
body .ensino-curso-aula a{flex:1 1 12rem;display:flex;gap:.6rem;align-items:baseline;min-height:44px;padding:.2rem 0;color:var(--e-tinta);text-decoration:none;line-height:1.35;min-width:0}
body .ensino-curso-aula a:hover .ensino-curso-aula__titulo{color:var(--e-link);text-decoration:underline}
body .ensino-curso-aula__num{flex:none;width:1.75rem;height:1.75rem;display:inline-grid;place-items:center;border-radius:50%;background:var(--e-acento-suave);color:var(--e-prim);font-family:var(--e-fonte-mono);font-size:.78rem;font-weight:700;opacity:1;align-self:center}
body .ensino-curso-aula--atual .ensino-curso-aula__num{background:var(--e-acento);color:#fff}
:root[data-tema="escuro"] .ensino-curso-aula__num{color:var(--e-tinta)}
:root[data-tema="escuro"] .ensino-curso-aula--atual .ensino-curso-aula__num{color:#101E2C}
@media (prefers-color-scheme:dark){
  :root:not([data-tema="claro"]) .ensino-curso-aula__num{color:var(--e-tinta)}
  :root:not([data-tema="claro"]) .ensino-curso-aula--atual .ensino-curso-aula__num{color:#101E2C}
}
body .ensino-curso-aula--atual{font-weight:700}
body .ensino-curso-aula--concluida .ensino-curso-aula__num{background:var(--e-ok-fundo);color:var(--e-ok)}
body .ensino-curso-aula--concluida .ensino-curso-aula__titulo{text-decoration:line-through;opacity:.7}
body .ensino-curso-aula__feito{color:var(--e-ok);font-weight:700}
body .ensino-curso-aula .ensino-selo{font-size:.8rem;padding:.25rem .5rem;letter-spacing:.03em}

/* Página da aula: a trilha do plugin repete o cabeçalho do tema */
.e-material--aula .ensino-curso-trilha{display:none}
.e-material__curso{font-weight:700;color:var(--e-acento)!important}
.e-material__modulo::before{content:"›";margin-right:.6rem;opacity:.6}
body .ensino-curso-conteudo>*+*{margin-top:1.15em}
body .ensino-curso-concluir{margin:2rem 0 1rem;padding-top:1.5rem;border-top:1px solid var(--e-borda)}
body .ensino-curso-concluir .ensino-botao{width:100%}
@media (min-width:40rem){body .ensino-curso-concluir .ensino-botao{width:auto}}
body .ensino-curso-passos{display:grid;grid-template-columns:1fr;gap:.75rem;margin:1.25rem 0 0}
@media (min-width:40rem){body .ensino-curso-passos{grid-template-columns:1fr 1fr}}
body .ensino-curso-passos a{display:flex;flex-direction:column;gap:.2rem;min-height:64px;padding:.85rem 1rem;border:1px solid var(--e-borda);border-radius:calc(var(--e-raio) + 2px);background:var(--e-cartao);color:var(--e-tinta);text-decoration:none;font-family:var(--e-fonte-titulo);font-variation-settings:"opsz" 48,"SOFT" 30;font-weight:600;font-size:1.1rem;line-height:1.25;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
body .ensino-curso-passos a:hover{transform:translateY(-2px);box-shadow:var(--e-sombra);border-color:var(--e-ouro);color:var(--e-tinta)}
body .ensino-curso-passos a span{font-family:var(--e-fonte-texto);font-weight:600;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--e-tinta-2);opacity:1}
body .ensino-curso-passos__ant span::before{content:"← "}
body .ensino-curso-passos__prox{text-align:right;align-items:flex-end}
body .ensino-curso-passos__prox span::after{content:" →"}
body .ensino-curso-passos--vazio{display:none}
@media (min-width:40rem){body .ensino-curso-passos--vazio{display:block}}
/* sumário do curso na lateral (desktop) ou abaixo (celular) */
body .ensino-curso-sumario{margin:0;padding:.25rem 1rem .75rem;border:1px solid var(--e-borda);border-radius:var(--e-raio);background:var(--e-superficie);font-size:.95rem}
body .ensino-curso-sumario h2{font-family:var(--e-fonte-texto);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--e-tinta-2);margin:0;padding:.65rem 0 .25rem;line-height:1.35}
body .ensino-curso-sumario h2 a{display:block;font-family:var(--e-fonte-titulo);font-variation-settings:"opsz" 48,"SOFT" 30;font-size:1.15rem;letter-spacing:0;text-transform:none;font-weight:600;color:var(--e-tinta);text-decoration:none;margin-top:.15rem}
body .ensino-curso-sumario h2 a:hover{color:var(--e-link)}
body .ensino-curso-sumario .ensino-curso-progresso{margin:.5rem 0 .75rem}
body .ensino-curso-sumario .ensino-curso-modulo summary{font-size:.95rem;min-height:44px}
body .ensino-curso-sumario .ensino-curso-aula{padding:.3rem 0}
body .ensino-curso-sumario .ensino-curso-aula a{min-height:44px;font-size:.93rem;flex-basis:8rem}
body .ensino-curso-sumario .ensino-curso-aula__num{width:1.5rem;height:1.5rem;font-size:.7rem}
.e-trancado .ensino-curso-sumario{margin:2rem auto 0}
.e-lateral .ensino-curso-sumario{margin-top:0}
@media (max-width:68.74rem){.e-lateral{display:contents}.e-lateral .e-sumario{order:0;margin-bottom:.5rem}.e-leitura__corpo{order:1}.e-lateral .ensino-curso-sumario{order:2;margin-top:.5rem}}

/* Novidades e "Continuar de onde parei" (início e /escola/) */
.e-secao--novidades{padding-block:0 clamp(2rem,5vw,3.5rem)}
body .ensino-novidades{margin:0}
body .ensino-novidades h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);margin-bottom:.15em}
body .ensino-novidades>.ensino-miudo{display:block;margin:0 0 1.25rem;color:var(--e-tinta-2)}
.e-prosa .ensino-novidades{max-width:none;margin:0 0 2.5rem}
.e-prosa .ensino-novidades+*{margin-top:0}
body .ensino-novidade a{gap:.45rem}
body .ensino-novidade time{margin-top:auto;padding-top:.4rem;font-size:.85rem;color:var(--e-tinta-2);opacity:1}
/* celular: Novidades numa faixa horizontal (antes eram 8 cartões empilhados, 1.372 px) */
@media (max-width:47.99rem){
  body .ensino-novidades .ensino-grade{display:flex;gap:.9rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:.25rem .1rem 1rem;margin-inline:-.1rem;scrollbar-width:thin}
  body .ensino-novidades .ensino-grade>li{flex:0 0 min(82%,17rem);scroll-snap-align:start}
}
body .ensino-novidade--minha a{border-color:var(--e-ouro);box-shadow:0 0 0 3px color-mix(in srgb,var(--e-ouro) 25%,transparent)}
body .ensino-selo--minha{background:var(--e-ouro);color:#1B2733}
body .ensino-curso-continuar-geral{margin:0 0 2rem;padding:1.25rem 1.5rem;border:1px solid var(--e-borda);border-left:5px solid var(--e-ouro);border-radius:var(--e-raio);background:var(--e-cartao);box-shadow:var(--e-sombra)}
body .ensino-curso-continuar-geral h2{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--e-fonte-texto);font-weight:700;color:var(--e-tinta-2);margin-bottom:.6rem}
body .ensino-curso-continuar-geral p{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}
body .ensino-curso-card a strong{font-family:var(--e-fonte-titulo);font-size:1.25rem}

/* Newsletter: pop-up e formulário embutido */
body .ensino-nl--popup{width:min(92vw,30rem);border:1px solid var(--e-borda);border-radius:calc(var(--e-raio) + 6px);background:var(--e-cartao);color:var(--e-tinta);box-shadow:0 24px 64px -12px rgba(16,30,44,.45);overflow:hidden}
body .ensino-nl--popup::backdrop{background:rgba(16,30,44,.6);backdrop-filter:blur(2px)}
body .ensino-nl--popup .ensino-nl__caixa{padding:2rem 1.75rem 1.5rem}
body .ensino-nl--popup .ensino-nl__caixa::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--e-adultos),var(--e-ouro))}
body .ensino-nl--embutido{max-width:34rem;margin:2rem 0;padding:1.75rem 1.75rem 1.5rem;border:1px solid var(--e-borda);border-radius:calc(var(--e-raio) + 6px);background:var(--e-cartao);color:var(--e-tinta);box-shadow:var(--e-sombra);position:relative;overflow:hidden}
body .ensino-nl--embutido::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--e-adultos),var(--e-ouro))}
body .ensino-nl__fechar{top:.6rem;right:.6rem;width:48px;height:48px;color:var(--e-tinta-2);font-size:1.75rem}
body .ensino-nl__fechar:hover{background:var(--e-superficie);color:var(--e-tinta)}
body .ensino-nl__titulo{font-family:var(--e-fonte-titulo);font-variation-settings:"opsz" 72,"SOFT" 30;font-size:clamp(1.35rem,1.2rem + .8vw,1.7rem);font-weight:600;color:var(--e-tinta);margin:0 2.25rem .5rem 0;text-wrap:balance}
body .ensino-nl--embutido .ensino-nl__titulo{margin-right:0}
:root[data-tema="escuro"] body .ensino-nl__titulo{color:var(--e-tinta)}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]) body .ensino-nl__titulo{color:var(--e-tinta)}}
body .ensino-nl__texto{color:var(--e-tinta-2);font-size:.97rem;line-height:1.5}
body .ensino-nl__rotulo{font-weight:600;color:var(--e-tinta);margin:.85rem 0 .3rem}
body .ensino-nl__campo{min-height:48px;padding:.6rem .9rem;font-size:1.0625rem;color:var(--e-tinta);background:var(--e-cartao);border:1.5px solid var(--e-borda-campo);border-radius:var(--e-raio)}
body .ensino-nl__campo:focus-visible{border-color:var(--e-adultos);outline-color:var(--e-adultos)}
body .ensino-nl__check{font-weight:400;line-height:1.45;color:var(--e-tinta)}
body .ensino-nl__check input{accent-color:var(--e-adultos)}
body .ensino-nl__botao{min-height:52px;font-size:1.1rem;font-weight:700;border-radius:var(--e-raio);background:var(--e-adultos);color:#fff;transition:transform .15s ease,box-shadow .15s ease}
body .ensino-nl__botao:hover{filter:brightness(.92);transform:translateY(-1px);box-shadow:var(--e-sombra)}
:root[data-tema="escuro"] .ensino-nl__botao{background:var(--e-botao);color:var(--e-botao-texto)}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]) .ensino-nl__botao{background:var(--e-botao);color:var(--e-botao-texto)}}
body .ensino-nl__miudo{color:var(--e-tinta-2);font-size:.85rem}
body .ensino-nl__aviso .ensino-aviso{margin:0 0 .75rem}
body .ensino-nl__toast{left:16px;right:16px;bottom:16px;filter:none}
body .ensino-nl__toast .ensino-aviso{box-shadow:var(--e-sombra);background:var(--e-cartao)}
@media (max-width:30rem){
  body .ensino-nl--popup{width:calc(100vw - 32px)}
  body .ensino-nl--popup .ensino-nl__caixa{padding:1.75rem 1.1rem 1.25rem}
}


/* ==========================================================================
   14. Funil da turma (/entrar/: escola > série > turma > código > Minha turma)
   ========================================================================== */
body .ensino-funil{max-width:var(--e-largura);margin-inline:auto}
body .ensino-funil-titulo{font-family:var(--e-fonte-titulo);font-size:clamp(1.6rem,1.2rem + 1.6vw,2.3rem);line-height:1.15;margin:.2em 0 .8em;text-wrap:balance}
body .ensino-funil-trilha{display:flex;flex-wrap:wrap;gap:0 .35rem;align-items:center;font-size:.95rem;color:var(--e-tinta-2);margin:0 0 1rem}
body .ensino-funil-trilha a{display:inline-flex;align-items:center;min-height:44px;color:var(--e-link);text-underline-offset:.2em}
/* aluno / professor: controle segmentado de duas partes, com o acento da escola */
body .ensino-funil-quem{display:grid;grid-template-columns:1fr 1fr;gap:4px;max-width:34rem;margin:0 0 1.25rem;padding:4px;border-radius:calc(var(--e-raio) + 2px);background:var(--e-superficie);border:1px solid var(--e-borda)}
body .ensino-funil-quem a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:.4rem .75rem;border:0;border-radius:var(--e-raio);color:var(--e-tinta);font-weight:600;line-height:1.25;text-decoration:none}
body .ensino-funil-quem a:hover{background:var(--e-cartao);color:var(--e-tinta)}
body .ensino-funil-quem a[aria-current]{background:var(--e-escola);color:#fff;box-shadow:var(--e-sombra)}
:root[data-tema="escuro"] body .ensino-funil-quem a[aria-current]{color:#0B1A26}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]) body .ensino-funil-quem a[aria-current]{color:#0B1A26}}
body .ensino-funil-trilha [aria-current]{font-weight:600;color:var(--e-tinta)}
body .ensino-funil-opcoes{list-style:none;padding:0;margin:0 0 2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:1rem}
body .ensino-funil-opcoes a{position:relative;display:flex;flex-direction:column;justify-content:center;gap:.3rem;min-height:5.5rem;padding:1.1rem 3rem 1.1rem 1.25rem;background:var(--e-cartao);border:1px solid var(--e-borda);border-left:4px solid var(--e-escola);border-radius:var(--e-raio);box-shadow:var(--e-sombra);color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease}
body .ensino-funil-opcoes a::after{content:"›";position:absolute;right:1.1rem;top:50%;translate:0 -50%;font-size:1.8rem;line-height:1;color:var(--e-escola)}
body .ensino-funil-opcoes a:hover{transform:translateY(-2px);border-color:var(--e-escola)}
body .ensino-funil-opcoes a:active{transform:scale(.975)}
body .ensino-funil-opcoes strong{font-family:var(--e-fonte-titulo);font-size:1.25rem;font-weight:600}
body .ensino-funil-opcoes span{font-size:.92rem;color:var(--e-tinta-2)}
body .ensino-funil-botao{display:inline-flex;align-items:center;min-height:52px;padding:0 1.5rem;border-radius:var(--e-raio);background:var(--e-escola);color:#fff;font-weight:600;text-decoration:none}
body .ensino-funil-botao:hover{filter:brightness(1.08)}
body .ensino-funil-outras{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;color:var(--e-tinta-2)}
body .ensino-funil-outras a{display:inline-flex;align-items:center;min-height:44px;padding:.35rem .9rem;border:1px solid var(--e-borda);border-radius:99px;color:var(--e-link);text-decoration:none}
body .ensino-funil-rodape a{display:inline-flex;align-items:center;min-height:44px}
body .ensino-funil-grupo{margin:1.5rem 0 2rem}
body .ensino-funil-grupo :is(h2,h3){font-family:var(--e-fonte-titulo);font-size:1.3rem;margin:0 0 .75rem;padding:0 0 .4rem;border-top:0;border-bottom:1px solid var(--e-borda);color:var(--e-tinta)}
body .ensino-atv-erros :is(h2,h3){margin-top:0;padding-top:0;border-top:0}
body .ensino-funil-vazio{padding:1.25rem;border:1px dashed var(--e-borda);border-radius:var(--e-raio);color:var(--e-tinta-2)}
body .ensino-funil-rodape{margin-top:2rem;font-size:.95rem}
body .ensino-funil-rodape a{color:var(--e-link)}
body .ensino-selo--novo{background:var(--e-escola);color:#fff}
@media (prefers-reduced-motion:reduce){body .ensino-funil-opcoes a{transition:none}body .ensino-funil-opcoes a:hover{transform:none}}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]) body .ensino-funil-botao,:root:not([data-tema="claro"]) body .ensino-selo--novo{color:#0B1A26}}
:root[data-tema="escuro"] body .ensino-funil-botao,:root[data-tema="escuro"] body .ensino-selo--novo{color:#0B1A26}
body .ensino-funil-opcoes>li{padding:0;margin:0}body .ensino-funil-opcoes>li::before{content:none;display:none}
body .ensino-funil-opcoes>li::marker,body .ensino-grade>li::marker,body .ensino-funil-grupo li::marker{content:none}


/* ==========================================================================
   15. Versões adaptadas, área de apoio e gabarito
   ========================================================================== */
body .ensino-estudo ul>li::marker,body .ensino-versoes ul>li::marker{content:none}
body .ensino-estudo ul>li,body .ensino-versoes ul>li{padding:0;margin:0}
body .ensino-estudo{border-radius:var(--e-raio);background:var(--e-cartao);border-color:var(--e-borda);box-shadow:var(--e-sombra)}
body .ensino-estudo p{margin:0}
body .ensino-estudo ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));gap:.6rem;margin-top:.9rem}
body .ensino-estudo button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.15rem;width:100%;min-height:52px;padding:.7rem 1rem;border-radius:var(--e-raio);border:1px solid var(--e-borda);background:var(--e-papel);color:var(--e-tinta);font-weight:600;text-align:left;transition:transform .15s ease}
body .ensino-estudo button:active{transform:scale(.975)}
body .ensino-estudo button small{font-weight:400;font-size:.85rem;line-height:1.35;color:var(--e-tinta-2)}
body .ensino-estudo button[aria-pressed=true]{background:var(--e-escola);border-color:var(--e-escola);color:#fff}
body .ensino-estudo button[aria-pressed=true] small{color:rgba(255,255,255,.88)}
body .ensino-card--adaptada a{border-color:var(--e-escola)}
body .ensino-versao-selo{background:var(--e-escola);color:#fff}
body .ensino-versoes__rotulo,body .ensino-gabarito__rotulo,body .ensino-apoio-nota__rotulo{font-family:var(--e-fonte-texto);color:var(--e-tinta-2)}
body .ensino-versoes li>a,body .ensino-versoes li>strong{min-height:44px;border-color:var(--e-borda);color:var(--e-link)}
body .ensino-versoes li[aria-current] strong{background:var(--e-escola);color:#fff}
body .ensino-gabarito{background:var(--e-superficie);border-color:var(--e-borda);color:inherit}
body .ensino-gabarito summary{color:var(--e-link)}
body .ensino-gabarito--apoio{border-left-color:var(--e-ouro)}
body .ensino-apoio-nota{background:var(--e-superficie);border-left-color:var(--e-prim);color:inherit}
body .ensino-funil-apoio h3{display:flex;align-items:center;gap:.5rem}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]) body .ensino-estudo button[aria-pressed=true],:root:not([data-tema="claro"]) body .ensino-versao-selo,:root:not([data-tema="claro"]) body .ensino-versoes li[aria-current] strong{color:#0B1A26}:root:not([data-tema="claro"]) body .ensino-estudo button[aria-pressed=true] small{color:#0B1A26}}
:root[data-tema="escuro"] body .ensino-estudo button[aria-pressed=true],:root[data-tema="escuro"] body .ensino-versao-selo,:root[data-tema="escuro"] body .ensino-versoes li[aria-current] strong,:root[data-tema="escuro"] body .ensino-estudo button[aria-pressed=true] small{color:#0B1A26}
@media (prefers-reduced-motion:reduce){body .ensino-estudo button{transition:none}}
/* faixa "Você estuda no Passo a passo" (tema.js), na versão regular quando o aparelho prefere outra */
.e-versao-aviso{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0 0 1.5rem;padding:.8rem 1rem;border:1px solid color-mix(in srgb,var(--e-escola) 45%,var(--e-borda));border-left:5px solid var(--e-escola);border-radius:var(--e-raio);background:color-mix(in srgb,var(--e-escola) 8%,var(--e-cartao))}
.e-versao-aviso p{margin:0;flex:1 1 14rem}
.e-versao-aviso a{font-weight:700;display:inline-flex;align-items:center;min-height:44px}

/* ==========================================================================
   16. Quem volta: "Para você hoje", entrada da escola, página de cursos, busca vazia
   ========================================================================== */
.e-hoje-wrap:has(.e-hoje[hidden]){display:none}
.e-hoje{margin:clamp(1rem,3vw,1.75rem) 0 0;padding:1rem 1.1rem 1.1rem;border:1px solid var(--e-borda);border-left:5px solid var(--e-escola);border-radius:calc(var(--e-raio) + 4px);background:var(--e-cartao);box-shadow:var(--e-sombra)}
.e-hoje__titulo{font-family:var(--e-fonte-texto);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--e-tinta-2);margin:0 0 .6rem}
body .ensino-hoje__lista{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
body .ensino-hoje__lista>li{margin:0;padding:0}
body .ensino-hoje__item .ensino-botao{min-height:48px;text-align:left;justify-content:flex-start;overflow-wrap:anywhere}
@media (max-width:30rem){body .ensino-hoje__item{flex:1 1 100%}body .ensino-hoje__item .ensino-botao{width:100%}}
.e-hoje__nota{margin:.6rem 0 0;font-size:.85rem;color:var(--e-tinta-2)}
/* o "Continuar" já está no topo: o bloco "Continuar de onde parei", mais abaixo, não se repete */
body:has(.ensino-hoje:not([hidden]) .ensino-hoje__item--continuar) .ensino-curso-continuar-geral{display:none!important}
/* ponto de "tem revisão para hoje" (o cursos.js põe no link do Praticar) */
.ensino-ponto{display:inline-block;width:.55rem;height:.55rem;margin-left:.4rem;border-radius:50%;background:var(--e-ouro);box-shadow:0 0 0 2px var(--e-papel);vertical-align:.1em;flex:none}
.e-portas__apoio{margin:1rem 0 0;font-size:.95rem;color:var(--e-tinta-2)}
.e-portas__apoio a{display:inline-flex;align-items:center;min-height:44px}
/* Escola: a entrada da turma no topo */
.e-entrada{--e-acento:var(--e-escola);display:grid;gap:.75rem 1.25rem;grid-template-columns:auto 1fr;align-items:start;margin:0 0 2rem;padding:1.25rem 1.25rem 1.35rem;border:1px solid var(--e-borda);border-radius:calc(var(--e-raio) + 6px);background:var(--e-cartao);box-shadow:var(--e-sombra);position:relative;overflow:hidden;max-width:52rem}
.e-entrada::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--e-escola),var(--e-ouro))}
.e-entrada__icone{width:3rem;height:3rem;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--e-escola) 14%,transparent);color:var(--e-escola)}
.e-entrada__icone svg{width:1.6rem;height:1.6rem}
.e-entrada h2{font-size:clamp(1.3rem,1.15rem + .7vw,1.6rem);margin:0 0 .3rem}
.e-entrada p{margin:0;color:var(--e-tinta-2)}
.e-entrada__acoes{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem}
.e-entrada__link{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
@media (max-width:30rem){.e-entrada{grid-template-columns:1fr}.e-entrada__acoes .e-btn{flex:1 1 100%}}
.e-escola__texto,.e-cursos__texto{margin:0 0 2rem}
.e-escola__novidades{margin:0 0 2.5rem}
.e-escola__livres,.e-cursos__lista,.e-cursos__guias{margin:0 0 2.5rem}
/* cartão de curso com o progresso do aparelho (tema.js) */
body .ensino-curso-card a{gap:.5rem}
.e-curso-card__prog{display:flex;flex-direction:column;gap:.35rem;margin-top:auto;padding-top:.5rem;font-size:.9rem;color:var(--e-tinta-2)}
.e-curso-card__prog progress{width:100%;height:.5rem;border:0;border-radius:99px;overflow:hidden;background:var(--e-borda);accent-color:var(--e-acento)}
.e-curso-card__prog progress::-webkit-progress-bar{background:var(--e-borda)}
.e-curso-card__prog progress::-webkit-progress-value{background:var(--e-acento)}
.e-curso-card__cta{font-weight:700;color:var(--e-link)}
.e-curso-card__cta::after{content:" →"}
.e-cursos__newsletter body .ensino-nl--embutido,.e-cursos__newsletter .ensino-nl--embutido{margin:0}
/* busca sem resultado */
.e-busca-vazia__titulo{font-size:1.25rem;margin:2rem 0 .75rem}
.e-busca-vazia .e-filtros__grupo{margin:0}

/* ==========================================================================
   17. Preferência "Leitura ampliada" (invariante 7: só a apresentação muda, nunca o conteúdo)
   <html data-ensino-versao> vem do localStorage do aparelho (script no <head>, sem lampejo).
   ========================================================================== */
:root[data-ensino-versao="leitura-ampliada"]{--e-tinta-2:var(--e-tinta);--e-borda:var(--e-borda-campo);--e-medida:60ch}
:root[data-ensino-versao="leitura-ampliada"] .e-prosa{font-size:clamp(1.25rem,1.15rem + .5vw,1.45rem);line-height:1.8;letter-spacing:.03em;word-spacing:.1em}
:root[data-ensino-versao="leitura-ampliada"] .e-prosa>*+*{margin-top:1.5em}
:root[data-ensino-versao="leitura-ampliada"] .e-prosa .ensino-atv--acessivel{font-size:1em}
:root[data-ensino-versao="leitura-ampliada"] .ensino-atv{line-height:1.8;letter-spacing:.02em;word-spacing:.08em}
:root[data-ensino-versao="leitura-ampliada"] .e-material__resumo{font-size:1.3rem;line-height:1.7}

/* ==========================================================================
   18. Trilha, páginas-filha e navegação entre irmãs (page.php)
   ========================================================================== */
.e-trilha-nav{margin:0 0 1.1rem}
.e-trilha-nav ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;font-size:.9rem;color:var(--e-tinta-2)}
.e-trilha-nav li{display:flex;align-items:center;gap:.3rem}
.e-trilha-nav li+li::before{content:"/";color:var(--e-borda-campo);opacity:.7}
.e-trilha-nav a{color:var(--e-link);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;border-radius:6px;padding:0 .15rem}
.e-trilha-nav a:hover{text-decoration:underline}
.e-trilha-nav li[aria-current]{color:var(--e-tinta);font-weight:600}
.e-secao__titulo-menor{font-size:1.1rem;letter-spacing:.02em;text-transform:none;color:var(--e-tinta-2);font-family:var(--e-fonte-texto);font-weight:700;margin:0 0 1rem}
.e-pagina__filhas{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--e-borda)}
.e-irmaos-nav{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--e-borda);display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.e-irmaos-nav__anterior,.e-irmaos-nav__proxima{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;border:1px solid var(--e-borda);border-radius:calc(var(--e-raio) + 2px);background:var(--e-cartao);color:var(--e-tinta);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.e-irmaos-nav__anterior:hover,.e-irmaos-nav__proxima:hover{transform:translateY(-2px);box-shadow:var(--e-sombra);border-color:var(--e-ouro);color:var(--e-tinta)}
.e-irmaos-nav__anterior span,.e-irmaos-nav__proxima span{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--e-tinta-2)}
.e-irmaos-nav__anterior strong,.e-irmaos-nav__proxima strong{font-family:var(--e-fonte-titulo);font-weight:600;font-size:1.05rem;line-height:1.3}
.e-irmaos-nav__proxima{text-align:right;align-items:flex-end}
@media (max-width:30rem){.e-irmaos-nav{grid-template-columns:1fr}.e-irmaos-nav__proxima{text-align:left;align-items:flex-start}}

/* ==========================================================================
   19. Vitrine de cursos gratuitos, amostra e captação de interesse
   ========================================================================== */
.e-vitrine{padding-block:clamp(2rem,5vw,3.5rem)}
.e-vitrine__grade{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}
.e-gratis-card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--e-cartao);border:1px solid var(--e-borda);border-radius:calc(var(--e-raio) + 2px);box-shadow:0 1px 0 rgba(27,39,51,.03);overflow:hidden;text-decoration:none;color:var(--e-tinta);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.e-gratis-card:hover{transform:translateY(-2px);box-shadow:var(--e-sombra);border-color:color-mix(in srgb,var(--e-ouro) 70%,var(--e-borda));color:var(--e-tinta)}
.e-gratis-card__imagem{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--e-superficie)}
/* selo nunca cobre texto: sobre a imagem quando ela existe; em fluxo normal, acima do título, quando não há imagem */
.e-gratis-card__selo{
  display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;padding:.3rem .6rem;border-radius:99px;background:var(--e-ok-fundo);color:var(--e-ok);
  line-height:1;order:-1;align-self:flex-start;margin:.75rem 0 0 1.1rem;
}
.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{display:block;font-family:var(--e-fonte-titulo);font-variation-settings:"opsz" 48,"SOFT" 30;font-weight:600;font-size:1.2rem;line-height:1.25;letter-spacing:-.01em;padding:1rem 1.1rem 0;text-wrap:balance}
.e-gratis-card__resumo{display:block;font-size:.95rem;color:var(--e-tinta-2);line-height:1.45;padding:.4rem 1.1rem 1.1rem;margin-top:auto}
.e-amostra{position:relative;margin:1.6em 0}
.e-amostra__conteudo{max-height:16rem;overflow:hidden}
.e-amostra__veu{position:relative;margin-top:-4.5rem;height:4.5rem;background:linear-gradient(to bottom,transparent,var(--e-papel))}
.e-interesse{margin:2rem 0;padding:1.5rem 1.75rem;border:1px solid var(--e-borda);border-left:5px solid var(--e-ouro);border-radius:calc(var(--e-raio) + 4px);background:color-mix(in srgb,var(--e-ouro) 8%,var(--e-cartao));box-shadow:var(--e-sombra);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.e-interesse__texto{margin:0;font-weight:600;color:var(--e-tinta);flex:1 1 16rem}
.e-interesse__botao{flex:none}
.e-contato-form{max-width:34rem;margin:1.5rem 0;display:flex;flex-direction:column;gap:1rem}
.e-contato-form label{margin-bottom:-.5rem}
.e-contato-form__ok{padding:.75rem 1rem;border-radius:var(--e-raio);font-weight:600;background:var(--e-ok-fundo);color:var(--e-ok);border:1px solid color-mix(in srgb,var(--e-ok) 30%,transparent)}
.e-contato-form__erro{padding:.75rem 1rem;border-radius:var(--e-raio);font-weight:600;background:var(--e-erro-fundo);color:var(--e-erro);border:1px solid color-mix(in srgb,var(--e-erro) 30%,transparent)}
.e-contato-form input:invalid:not(:placeholder-shown){border-color:var(--e-erro)}

/* ==========================================================================
   20. Destaque de livro na página inicial: faixa premium com capa e chamada
   ========================================================================== */
.e-destaque-livro{
  position:relative;margin-block:clamp(2rem,5vw,3.5rem);padding:clamp(2rem,5vw,3.5rem) 0;
  background:#16324F;color:#EFF3F8;overflow:hidden;
}
.e-destaque-livro::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(55% 65% at 90% 0%,color-mix(in srgb,var(--e-ouro) 26%,transparent),transparent 70%),radial-gradient(40% 50% at 0% 100%,rgba(255,255,255,.06),transparent 70%)}
.e-destaque-livro::after{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--e-ouro),color-mix(in srgb,var(--e-ouro) 40%,#fff))}
.e-destaque-livro .e-container{position:relative;z-index:1;display:grid;gap:2rem;align-items:center;grid-template-columns:1fr}
@media (min-width:56rem){.e-destaque-livro .e-container{grid-template-columns:auto 1fr;gap:3rem}}
.e-destaque-livro__capa{
  justify-self:center;width:min(100%,260px);max-width:260px;display:block;border-radius:4px;
  transform:perspective(900px) rotateY(-8deg) rotateX(1deg);
  box-shadow:16px 20px 40px -12px rgba(0,0,0,.55),0 2px 0 rgba(255,255,255,.04) inset;
}
@media (prefers-reduced-motion:reduce){.e-destaque-livro__capa{transform:none}}
.e-destaque-livro__selo{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .7rem;border-radius:99px;background:color-mix(in srgb,var(--e-ouro) 22%,transparent);color:var(--e-ouro);margin-bottom:.9rem}
.e-destaque-livro__texto h2{color:#fff;font-size:clamp(1.6rem,1.3rem + 1.4vw,2.3rem);margin:0 0 .6rem}
.e-destaque-livro__texto>p{color:color-mix(in srgb,#fff 78%,transparent);font-size:clamp(1.05rem,1rem + .3vw,1.2rem);max-width:56ch;margin:0 0 1rem;text-wrap:pretty}
.e-destaque-livro__lista{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-direction:column;gap:.5rem}
.e-destaque-livro__lista li{position:relative;padding-left:1.5rem;color:color-mix(in srgb,#fff 90%,transparent);font-size:1.02rem;line-height:1.4}
.e-destaque-livro__lista li::before{content:"";position:absolute;left:0;top:.5em;width:.55rem;height:.55rem;border-radius:50%;background:var(--e-ouro)}
.e-destaque-livro__botao{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.7rem 1.6rem;
  border-radius:var(--e-raio);font-weight:700;font-size:1.05rem;background:var(--e-ouro);color:#16324F;
  border:1px solid transparent;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
.e-destaque-livro__botao:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 10px 24px -10px rgba(0,0,0,.5);color:#16324F}
.e-destaque-livro__botao:focus-visible{outline:3px solid #fff;outline-offset:3px}
/* já é escuro por natureza (faixa marinha): no tema escuro, reforça o contorno para não sumir no fundo do site */
:root[data-tema="escuro"] .e-destaque-livro,:root[data-tema="escuro"] .e-destaque-livro::after{box-shadow:0 0 0 1px var(--e-borda) inset}
@media (max-width:55.99rem){.e-destaque-livro__capa{transform:none;max-width:200px}.e-destaque-livro__texto{text-align:left}}

/* ================================================================== *
 * 21. Manual do PAS: folheador da amostra e sumário navegável
 * ================================================================== */
.e-folheador{margin:2.5rem 0;display:grid;gap:1rem}
.e-folheador__palco{position:relative;background:var(--e-superficie,var(--e-cartao));border:1px solid var(--e-borda);border-radius:var(--e-raio);padding:clamp(.75rem,3vw,2rem);display:flex;justify-content:center;align-items:center;min-height:min(80vh,56rem);box-shadow:0 1px 2px rgba(0,0,0,.04),0 18px 40px -24px rgba(22,50,79,.35);touch-action:pan-y}
.e-folheador__pagina{margin:0;display:flex;flex-direction:column;align-items:center;gap:.6rem}
.e-folheador__pagina[hidden]{display:none}
.e-folheador__pagina--ativa{animation:e-folhear .25s ease}
.e-folheador__pagina img{display:block;max-width:100%;max-height:min(78vh,54rem);width:auto;height:auto;border-radius:4px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.08),0 24px 48px -20px rgba(0,0,0,.35)}
.e-folheador__pagina figcaption{font-size:.9rem;color:var(--e-tinta-2);text-align:center}
@keyframes e-folhear{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.e-folheador__pagina{animation:none!important}}
.e-folheador__controles{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}
.e-folheador__controles button{min-height:44px;min-width:44px;padding:.5rem 1.1rem;border-radius:999px;border:1px solid var(--e-borda);background:var(--e-cartao);color:var(--e-prim-texto,inherit);font:inherit;font-weight:600;cursor:pointer}
.e-folheador__controles button:hover{border-color:var(--e-ouro)}
.e-folheador__controles button:focus-visible{outline:3px solid var(--e-ouro);outline-offset:2px}
.e-folheador__controles button:disabled{opacity:.4;cursor:default}
.e-folheador__contador{font-variant-numeric:tabular-nums;font-size:.95rem;opacity:.85;text-align:center}
.e-folheador__miniaturas{display:flex;gap:.6rem;overflow-x:auto;padding:.25rem .25rem .75rem;scroll-snap-type:x mandatory;list-style:none;margin:0}
.e-folheador__mini{flex:0 0 auto;scroll-snap-align:center;border:2px solid transparent;border-radius:6px;padding:0;background:none;cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s}
.e-folheador__mini img{display:block;width:72px;height:auto;border-radius:4px}
.e-folheador__mini:hover,.e-folheador__mini[aria-current="true"]{opacity:1;border-color:var(--e-ouro)}
.e-folheador__mini:focus-visible{outline:3px solid var(--e-ouro);outline-offset:2px}

.e-sumario-livro{margin:3rem 0;border-top:1px solid var(--e-borda)}
.e-sumario-livro ol,.e-sumario-livro ul{list-style:none;margin:0;padding:0}
.e-sumario-livro__cap{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;padding:.85rem 0;border-bottom:1px solid var(--e-borda)}
.e-sumario-livro__cap > :first-child{flex:1 1 16rem;font-weight:600}
.e-sumario-livro__cap details{flex-basis:100%;margin-top:.25rem}
.e-sumario-livro__cap summary{cursor:pointer;font-size:.9rem;opacity:.8;min-height:44px;display:flex;align-items:center}
.e-sumario-livro__cap details ul{columns:2 12rem;column-gap:2rem;padding:.25rem 0 .5rem;font-size:.9rem}
.e-sumario-livro__cap details li{break-inside:avoid;padding:.15rem 0}
.e-sumario-livro__pag{font-variant-numeric:tabular-nums;opacity:.7;font-size:.9rem}
.e-sumario-livro__amostra{min-height:44px;padding:.3rem .9rem;border-radius:999px;border:1px solid var(--e-ouro);background:transparent;color:inherit;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}
.e-sumario-livro__amostra:hover{background:var(--e-ouro);color:#16324F}
.e-sumario-livro__amostra:focus-visible{outline:3px solid var(--e-ouro);outline-offset:2px}
.e-sumario-livro__trancado{font-size:.85rem;color:var(--e-tinta-2)}
@media (max-width:40rem){.e-folheador__palco{min-height:auto;padding:.5rem}.e-folheador__pagina img{max-height:none;width:100%}}

/* ================================================================== *
 * 22. Livro 3D do manual (capa, lombada, contracapa e folhas; gira com ponteiro e arraste)
 * ================================================================== */
.e-destaque-livro__capa:has(.e-livro3d){transform:none!important;box-shadow:none!important;max-width:none;background:none}
.e-livro3d{--w:240px;--h:345px;--d:99px;position:relative;width:calc(var(--w) + 80px);height:calc(var(--h) + 70px);margin:0 auto;perspective:1400px;display:grid;place-items:center;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:none}
.e-livro3d.is-arrastando{cursor:grabbing}
.e-livro3d:focus-visible{outline:3px solid var(--e-ouro);outline-offset:6px;border-radius:12px}
.e-livro3d__livro{position:relative;width:var(--w);height:var(--h);transform-style:preserve-3d;transform:rotateX(6deg) rotateY(26deg);will-change:transform}
.e-livro3d__face{position:absolute;background-size:cover;background-position:center;backface-visibility:hidden}
.e-livro3d__frente,.e-livro3d__verso{width:var(--w);height:var(--h);left:0;top:0}
.e-livro3d__frente{transform:translateZ(calc(var(--d)/2));border-radius:2px 5px 5px 2px;box-shadow:inset 6px 0 10px -6px rgba(0,0,0,.45)}
.e-livro3d__frente::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,0) 38%,rgba(0,0,0,.08) 100%);pointer-events:none}
.e-livro3d__verso{transform:rotateY(180deg) translateZ(calc(var(--d)/2));border-radius:5px 2px 2px 5px}
.e-livro3d__lombada{width:var(--d);height:var(--h);left:calc((var(--w) - var(--d))/2);top:0;transform:rotateY(-90deg) translateZ(calc(var(--w)/2))}
.e-livro3d__folhas{width:var(--d);height:calc(var(--h) - 6px);top:3px;left:calc((var(--w) - var(--d))/2);transform:rotateY(90deg) translateZ(calc(var(--w)/2 - 3px));background:repeating-linear-gradient(90deg,#f6f1e4 0 1px,#e3dccb 1px 2px);box-shadow:inset 0 0 12px rgba(0,0,0,.18)}
.e-livro3d__topo,.e-livro3d__base{width:calc(var(--w) - 3px);height:var(--d);left:0;top:calc((var(--h) - var(--d))/2);background:repeating-linear-gradient(0deg,#f6f1e4 0 1px,#e3dccb 1px 2px)}
.e-livro3d__topo{transform:rotateX(90deg) translateZ(calc(var(--h)/2 - 2px))}
.e-livro3d__base{transform:rotateX(-90deg) translateZ(calc(var(--h)/2 - 2px))}
.e-livro3d__sombra{position:absolute;bottom:4px;left:50%;width:calc(var(--w) * 1.1);height:26px;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(0,0,0,.45),rgba(0,0,0,0) 70%);filter:blur(4px);pointer-events:none}
.e-livro3d__dica{margin:.25rem 0 0;text-align:center;font-size:.8rem;color:var(--e-tinta-2);letter-spacing:.02em}
@media (max-width:40rem){.e-livro3d{--w:180px;--h:259px;--d:74px}}
@media (prefers-reduced-motion:reduce){.e-livro3d__livro{transition:none}}

/* 23. Faixa do livro em fundo claro (pedido do dono: o marinho pesava). Segue os tokens, então vale no tema escuro. */
.e-destaque-livro{background:linear-gradient(180deg,var(--e-cartao) 0%,var(--e-papel) 100%);color:var(--e-tinta);border-block:1px solid var(--e-borda)}
.e-destaque-livro::before{background:radial-gradient(50% 70% at 18% 55%,color-mix(in srgb,var(--e-ouro) 22%,transparent),transparent 70%)}
.e-destaque-livro__texto h2{color:var(--e-prim-texto)}
.e-destaque-livro__texto>p{color:var(--e-tinta-2)}
.e-destaque-livro__lista li{color:var(--e-tinta)}
.e-destaque-livro__selo,.e-destaque-livro .e-selo{background:color-mix(in srgb,var(--e-ouro) 20%,transparent);color:var(--e-ouro-texto)}
.e-destaque-livro__botao:focus-visible{outline-color:var(--e-foco)}
.e-destaque-livro .e-livro3d__dica{color:var(--e-tinta-2)}
.e-destaque-livro .e-livro3d__sombra{background:radial-gradient(ellipse at center,rgba(27,39,51,.35),rgba(27,39,51,0) 70%)}
:root[data-tema="escuro"] .e-destaque-livro,:root[data-tema="escuro"] .e-destaque-livro::after{box-shadow:none}

/* 24. Voz do folheador (narração das páginas recomendadas); só tokens, vale nos dois temas */
.e-folheador__voz{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1.25rem;padding:1rem 1.25rem;border:1px solid var(--e-borda);border-radius:var(--e-raio);background:var(--e-cartao)}
.e-folheador__voz[hidden]{display:none}
.e-folheador__ouvir{min-height:48px;padding:.6rem 1.4rem;border:0;border-radius:999px;background:var(--e-botao);color:var(--e-botao-texto);font:inherit;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}
.e-folheador__ouvir:hover{background:var(--e-botao-hover)}
.e-folheador__ouvir:focus-visible,.e-folheador__vel select:focus-visible{outline:3px solid var(--e-foco);outline-offset:2px}
.e-folheador__vel{font-size:.9rem;color:var(--e-tinta-2);display:inline-flex;align-items:center;gap:.4rem}
.e-folheador__vel select{min-height:44px;border:1px solid var(--e-borda-campo);border-radius:8px;background:var(--e-papel);color:var(--e-tinta);font:inherit;padding:0 .4rem}
.e-folheador__progresso{flex:1 1 100%;height:4px;border-radius:4px;background:var(--e-borda);overflow:hidden}
.e-folheador__progresso span{display:block;height:100%;width:0;background:var(--e-ouro);transition:width .25s linear}
.e-folheador__voz-nota{flex-basis:100%;margin:0;text-align:center;font-size:.8rem;color:var(--e-tinta-2)}
.e-folheador__controles button,.e-sumario-livro__amostra{color:var(--e-tinta)}
.e-destaque-livro__formato{font-size:.92rem;color:var(--e-tinta-2);margin:-.75rem 0 1.25rem;font-style:italic}
