/* Páginas de módulo — mesma direção da home (tasteskill): declaração grande, superfícies por tom,
   uma imagem de acervo no topo, rodapé invertido com o nome cortado. Tabelas mantêm filetes finos (são tabelas). */
body[data-module] { --mono: var(--sans); --line: transparent; --surface: #0b1f3d; --surface-2: #0e274b; --inv: #e9eff8; --inv-ink: #0a1b36; --side: clamp(16px, 4vw, 32px); --rule: rgba(232, 238, 248, .14); font-variant-numeric: tabular-nums; }
:root[data-theme="light"] body[data-module] { --surface: #ffffff; --surface-2: #e9eff8; --rule: rgba(10, 27, 54, .14); }
body[data-module] .wrap { width: min(1280px, 100% - 2 * var(--side)); }
body[data-module] .top { background: var(--bg); backdrop-filter: none; border-bottom: 0; }

/* ---------- topo do módulo: nome grande à esquerda, imagem à direita ---------- */
body[data-module] .mhero { background: none; border-bottom: 0; padding: clamp(40px, 7vw, 96px) 0 0; }
body[data-module] .mhero-in { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(24px, 5vw, 72px); align-items: start; }
body[data-module] .mhero .ico { display: none; }
body[data-module] .mhero h1 { font: 700 clamp(2.6rem, 7vw, 6rem)/.98 var(--sans); letter-spacing: -.045em; margin: 0 0 20px; text-wrap: balance; }
body[data-module] .mhero .lead { font-size: clamp(1.1rem, 1.7vw, 1.4rem); line-height: 1.45; max-width: 36ch; }
body[data-module] .mhero .muted.small { font-size: .9375rem; margin: 0 0 12px; }
body[data-module] .mhero-pic { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
body[data-module] .mhero .notice { max-width: 60ch; }
@media (max-width: 860px) {
  body[data-module] .mhero-in { grid-template-columns: 1fr; }
  body[data-module] .mhero-pic { aspect-ratio: 3 / 2; order: -1; max-height: 260px; }
}

/* ---------- seções ---------- */
body[data-module] section.blk { padding: clamp(56px, 8vw, 120px) 0 0; }
body[data-module] .blk h2.sec { font: 700 clamp(2rem, 4.2vw, 4rem)/1.04 var(--sans); letter-spacing: -.035em; margin: clamp(48px, 7vw, 96px) 0 14px; max-width: 24ch; text-wrap: balance; }
body[data-module] .blk h2.sec:first-of-type { margin-top: 0; }
body[data-module] .blk .sec-sub { font-size: 1.125rem; line-height: 1.5; max-width: 60ch; margin-bottom: 28px; }
body[data-module] .notice, body[data-module] details, body[data-module] .card, body[data-module] .item, body[data-module] .pick-res, body[data-module] .signal { background: var(--surface); border-color: transparent; border-radius: 0; }
body[data-module] .notice { font-size: 1rem; line-height: 1.55; }
body[data-module] input, body[data-module] select { background: var(--surface-2); border: 0; border-radius: 0; font-size: 1.0625rem; min-height: 52px; }
body[data-module] .f { font: 600 .9375rem var(--sans); letter-spacing: 0; text-transform: none; color: var(--text); }
body[data-module] .btn { border-radius: 0; min-height: 48px; }
body[data-module] .chip, body[data-module] .tag, body[data-module] .pill { background: var(--surface-2); border: 0; }
body[data-module] .pill.ok, body[data-module] .pill.ativa { color: var(--accent2); }

/* cartões planos e títulos com presença */
body[data-module] .cards { gap: 20px; }
body[data-module] .card { padding: 22px 24px; }
body[data-module] .card h3, body[data-module] .vacs .vac h3 { font-size: 1.375rem; letter-spacing: -.015em; line-height: 1.2; }
body[data-module] .card p, body[data-module] .glinks li { font-size: 1.0625rem; }

/* tabelas: filete leve entre linhas, cabeçalho em sentença */
body[data-module] .tablewrap { border: 0; border-radius: 0; background: var(--surface); }
body[data-module] th { font: 600 .9375rem var(--sans); letter-spacing: 0; text-transform: none; background: var(--surface-2); }
body[data-module] th, body[data-module] td { border-bottom: 1px solid var(--rule); padding: 14px 16px; }
body[data-module] td { font-size: 1rem; }
body[data-module] tr:last-child td { border-bottom: 0; }

/* feed */
body[data-module] .list { gap: 0; }
body[data-module] .item { padding: 22px 24px; margin-top: 12px; }
body[data-module] .item h3 { font-size: clamp(1.2rem, 1.8vw, 1.6rem); letter-spacing: -.015em; }
body[data-module] .item .sum { font-size: 1.0625rem; }
body[data-module] .item-meta { margin-top: 10px; }

/* ---------- rodapé invertido, igual ao da home ---------- */
body[data-module] .foot { margin: clamp(64px, 9vw, 140px) 0 0; padding: clamp(56px, 8vw, 112px) 0 0; background: var(--inv); color: var(--inv-ink); position: relative; overflow: hidden; border-top: 0; }
:root[data-theme="light"] body[data-module] .foot { background: #0a1b36; color: #e8eef8; }
body[data-module] .foot a, body[data-module] .foot p, body[data-module] .foot strong { color: inherit; }
body[data-module] .foot-in { align-items: flex-start; gap: clamp(24px, 6vw, 96px); }
body[data-module] .foot-invite { display: grid; gap: 20px; max-width: 16ch; }
body[data-module] .foot-q { margin: 0; font: 700 clamp(1.8rem, 4.6vw, 4.2rem)/1.02 var(--sans); letter-spacing: -.035em; max-width: 14ch; }
body[data-module] .foot .btn { background: var(--inv-ink); color: var(--inv); width: fit-content; }
:root[data-theme="light"] body[data-module] .foot .btn { background: #e8eef8; color: #0a1b36; }
body[data-module] .foot-in > div:not(.foot-invite) { max-width: 44ch; opacity: .85; }
body[data-module] .foot-credits { width: min(1280px, 100% - 2 * var(--side)); margin: clamp(32px, 5vw, 64px) auto 0; font-size: .8125rem; line-height: 1.5; opacity: .75; }
body[data-module] .foot-mark { margin: 0; padding: 0 var(--side); font: 800 clamp(4rem, 15.4vw, 17rem)/.8 var(--sans); letter-spacing: -.05em; white-space: nowrap; transform: translateY(20%); user-select: none; }
body[data-module] .foot a:focus-visible, body[data-module] .foot .btn:focus-visible { outline: 2px solid var(--inv-ink); outline-offset: 3px; }
:root[data-theme="light"] body[data-module] .foot a:focus-visible { outline-color: #e8eef8; }
@media (max-width: 720px) { body[data-module] .foot-mark { font-size: 15.4vw; } }

/* faixas de imagem de acervo entre blocos */
body[data-module] .band { margin: clamp(56px, 8vw, 112px) 0 0; padding: 0; }
body[data-module] .band img { display: block; width: 100%; height: clamp(120px, 22vw, 300px); object-fit: cover; object-position: 50% 40%; }
/* rótulos de tipo em frase, não em caixa-alta espaçada */
body[data-module] .gk, body[data-module] .sig-cap, body[data-module] tr.dim th { text-transform: none; letter-spacing: 0; font: 600 .9375rem var(--sans); color: var(--muted); }
body[data-module] tr.dim th { color: var(--accent2); }
/* entrada por scroll (só com .reveal, posta pelo script) */
html.reveal body[data-module] .blk h2.sec:not(.in), html.reveal body[data-module] .card:not(.in), html.reveal body[data-module] .item:not(.in), html.reveal body[data-module] .vac:not(.in), html.reveal body[data-module] .tablewrap:not(.in), html.reveal body[data-module] .band:not(.in), html.reveal body[data-module] .notice:not(.in) { opacity: 0; transform: translateY(14px); }
html.reveal body[data-module] .in { transition: opacity 280ms var(--ease-out) var(--d, 0ms), transform 280ms var(--ease-out) var(--d, 0ms); }
@media (max-width: 720px) { body[data-module] .blk h2.sec { font-size: 1.75rem; } }
@media (hover: hover) and (pointer: fine) { body[data-module] .card-link:hover { background: var(--surface-2); } }
body[data-module] .nav a.on { box-shadow: none; background: var(--surface); color: var(--accent2); }
body[data-module] .filters { min-width: 0; }
body[data-module] .filters .f, body[data-module] .filters select { max-width: 100%; min-width: 0; }
body[data-module] .bx-global select { width: min(100%, 420px); }
body[data-module] .tablewrap { margin-bottom: clamp(24px, 4vw, 48px); }
body[data-module] .tablewrap + h2.sec, body[data-module] .tablewrap + .more + h2.sec { margin-top: clamp(80px, 10vw, 140px); }
