/* ACCTNN 55.9 — arquivo juntado pelo ferramentas/juntar.mjs; não editar (editar os separados) */
/* ===== assets/css/tokens.css ===== */
/* Criado, desenvolvido, testado, abandonado, rejeitado, recuperado e testado fonte vozes da minha cabeça - William Tassi Moreira */
/* =====================================================================
   ACCTNN — Tokens de identidade
   Conceito: "Faixa do Encontro". Duas tramas lado a lado — o grafismo em
   degraus (raiz amazônica, cerâmica e cestaria) e o sol de raios das
   gravuras populares nordestinas — alternam-se sem que uma apague a outra.
   Cores: o RIO (verde-água da floresta) e o SOL (amarelo de feira),
   amarrados pelo URUCUM (vermelho comum às duas regiões) e pelo AÇAÍ.
   Layout: faixas horizontais largas, como bandeirolas de festa e barrados
   de cerâmica; conteúdo em grade de 12 colunas.
   ===================================================================== */
:root {
  /* Cores — tema claro */
  --chao: #EFF2EC;        /* fundo da página, levemente esverdeado */
  --papel: #FAFBF7;       /* superfícies */
  --papel-2: #E6EBE3;     /* superfícies recuadas */
  --tinta: #18211D;       /* texto principal */
  --tinta-2: #4D5A53;     /* texto secundário */
  --linha: #CDD5CB;       /* divisórias */
  --rio: #0C6A5A;         /* Norte: rio e floresta */
  --rio-claro: #D3EAE3;
  --sol: #E09A12;         /* Nordeste: sol e feira */
  --sol-claro: #F8E7C2;
  --urucum: #B83C29;      /* elo comum */
  --acai: #4A1D3D;        /* profundidade */
  --sobre-rio: #FFFFFF;
  --sobre-sol: #1E1608;
  --ok: #2F7D32;
  --alerta: #B7791F;
  --erro: #B42318;
  --sombra: 0 1px 2px rgba(24,33,29,.06), 0 8px 24px -12px rgba(24,33,29,.18);

  /* Tipografia */
  --f-titulo: "Big Shoulders Display", "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
  --f-texto: "Public Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --f-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;

  /* Escala tipográfica (1.25) */
  --t-xs: .78rem; --t-sm: .875rem; --t-md: 1rem; --t-lg: 1.25rem;
  --t-xl: 1.6rem; --t-2xl: 2.2rem; --t-3xl: clamp(2.6rem, 6vw, 4.6rem);

  /* Espaços e formas */
  --e-1: .25rem; --e-2: .5rem; --e-3: .75rem; --e-4: 1rem; --e-5: 1.5rem; --e-6: 2rem; --e-7: 3rem; --e-8: 4.5rem;
  --raio: 6px; --raio-g: 14px;
  --largura: 1200px;
  --gutter: clamp(16px, 4vw, 40px);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --chao: #0E1613; --papel: #15201C; --papel-2: #1C2925;
    --tinta: #E7ECE5; --tinta-2: #A3B1A9; --linha: #2B3833;
    --rio: #3DB39A; --rio-claro: #163A32;
    --sol: #F0B43A; --sol-claro: #3A2E14;
    --urucum: #E0654F; --acai: #C789B4;
    --sobre-rio: #06231D; --sobre-sol: #1E1608;
    --ok: #62B866; --alerta: #E2A84A; --erro: #F07467;
    --sombra: 0 1px 2px rgba(0,0,0,.3), 0 10px 28px -12px rgba(0,0,0,.6);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --chao: #0E1613; --papel: #15201C; --papel-2: #1C2925;
  --tinta: #E7ECE5; --tinta-2: #A3B1A9; --linha: #2B3833;
  --rio: #3DB39A; --rio-claro: #163A32;
  --sol: #F0B43A; --sol-claro: #3A2E14;
  --urucum: #E0654F; --acai: #C789B4;
  --sobre-rio: #06231D; --sobre-sol: #1E1608;
  --ok: #62B866; --alerta: #E2A84A; --erro: #F07467;
  --sombra: 0 1px 2px rgba(0,0,0,.3), 0 10px 28px -12px rgba(0,0,0,.6);
  color-scheme: dark;
}


/* ===== assets/css/base.css ===== */
/* Criado, desenvolvido, testado, abandonado, rejeitado, recuperado e testado fonte vozes da minha cabeça - William Tassi Moreira */
/* Versão 18: o que está marcado como escondido fica escondido, mesmo quando a classe do elemento define outro jeito de mostrar */
[hidden] { display: none !important; }
/* versão 21: enquanto confere se é produção (no máximo 2,5 s), o conteúdo e os anúncios de exemplo não aparecem */
.conferindo #conteudo, .conferindo [data-espaco] { visibility: hidden; }
/* versão 23: botão "ver a senha" (olhinho) */
.senha-caixa { position: relative; display: block; }
.senha-caixa > input { width: 100%; padding-right: 3rem; }
.senha-olho { position: absolute; right: .35rem; top: 50%; transform: translateY(-50%); width: 2.4rem; height: 2.4rem; display: grid; place-items: center;
  border: 0; border-radius: 8px; background: transparent; color: var(--tinta-2, #555); cursor: pointer; }
.senha-olho:hover, .senha-olho:focus-visible { background: color-mix(in srgb, currentColor 10%, transparent); }
.senha-olho[aria-pressed="true"] { color: var(--rio, #0C6A5A); }
/* ACCTNN — Base: reset leve, tipografia, estrutura geral */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
body {
  margin: 0; background: var(--chao); color: var(--tinta);
  font: 400 var(--t-md)/1.6 var(--f-texto);
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img, svg, canvas { max-width: 100%; }
h1, h2, h3, h4 { font-family: var(--f-titulo); font-weight: 700; line-height: 1.02; margin: 0; text-wrap: balance; letter-spacing: .005em; }
h1 { font-size: var(--t-3xl); font-weight: 900; text-transform: uppercase; }
h2 { font-size: clamp(1.9rem, 4vw, 2.8rem); text-transform: uppercase; }
h3 { font-size: var(--t-xl); }
h4 { font-size: var(--t-lg); }
p { margin: 0; }
a { color: var(--rio); text-underline-offset: 3px; }
a:hover { color: var(--urucum); }
:focus-visible { outline: 3px solid var(--sol); outline-offset: 2px; border-radius: 3px; }
button, input, select, textarea { font: inherit; color: inherit; }
.mono { font-family: var(--f-mono); font-size: .92em; }
.mudo { color: var(--tinta-2); }
.selecionavel { user-select: all; }
.num { font-variant-numeric: tabular-nums; }
.pular { position: absolute; left: -999px; top: 0; background: var(--sol); color: var(--sobre-sol); padding: .5rem 1rem; z-index: 99; }
.pular:focus { left: 8px; top: 8px; }

/* Envelope de largura */
.env { width: 100%; max-width: var(--largura); margin-inline: auto; padding-inline: var(--gutter); }
.secao { padding-block: var(--e-8); }
.secao--recuada { background: var(--papel-2); }
.sobretitulo { font: 600 var(--t-xs)/1 var(--f-texto); text-transform: uppercase; letter-spacing: .14em; color: var(--urucum); display: inline-flex; align-items: center; gap: .5rem; }
.sobretitulo::before { content: ""; width: 18px; height: 2px; background: currentColor; }
.cab-secao { display: grid; gap: var(--e-3); margin-bottom: var(--e-6); max-width: 760px; }
.cab-secao p { color: var(--tinta-2); font-size: 1.05rem; max-width: 62ch; }

/* Topo */
.topo { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 40; background: color-mix(in srgb, var(--chao) 88%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--linha); }
@supports not (background: color-mix(in srgb, red, blue)) { .topo { background: var(--chao); } }
.topo__in { max-width: var(--largura); margin-inline: auto; padding: .6rem var(--gutter); display: flex; align-items: center; gap: var(--e-4); }
.marca { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--tinta); }
.marca:hover { color: var(--tinta); }
.marca__selo { width: 38px; height: 38px; display: inline-block; flex: none; }
.marca__selo--grande { width: 64px; height: 64px; }
.marca__nome { font: 900 1.5rem/0.9 var(--f-titulo); letter-spacing: .04em; display: grid; }
.marca__nome small { font: 600 .62rem/1.3 var(--f-texto); letter-spacing: .16em; text-transform: uppercase; color: var(--tinta-2); }
.menu { display: flex; gap: .15rem; margin-left: auto; }
.menu a { text-decoration: none; color: var(--tinta-2); font-weight: 600; font-size: var(--t-sm); padding: .5rem .7rem; border-radius: var(--raio); }
.menu a:hover { color: var(--tinta); background: var(--papel-2); }
.menu a[aria-current="page"] { color: var(--tinta); box-shadow: inset 0 -3px 0 var(--sol); border-radius: 0; }
.topo__acoes { display: flex; align-items: center; gap: .4rem; }
.topo .menu-bt { display: none; }
@media (max-width: 1240px) {
  .menu { position: fixed; inset: 64px 0 auto 0; flex-direction: column; background: var(--papel); border-bottom: 1px solid var(--linha); padding: .5rem var(--gutter) 1rem; box-shadow: var(--sombra); display: none; }
  .menu.aberto { display: flex; }
  .menu a { padding: .8rem .4rem; font-size: 1rem; }
  .menu a[aria-current="page"] { box-shadow: inset 3px 0 0 var(--sol); padding-left: .8rem; }
  .topo .menu-bt { display: inline-grid; }
}

/* Rodapé */
.rodape { background: var(--papel); border-top: 1px solid var(--linha); margin-top: var(--e-8); }
.rodape__in { max-width: var(--largura); margin-inline: auto; padding: var(--e-7) var(--gutter) var(--e-6); display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: var(--e-6); }
.rodape__in h4 { font-size: 1.05rem; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .6rem; }
.rodape__in > div { display: grid; align-content: start; gap: .4rem; min-width: 0; }
.rodape__in a { color: var(--tinta-2); text-decoration: none; font-size: var(--t-sm); }
.rodape__in a:hover { color: var(--rio); }
.rodape__marca p { font-size: var(--t-sm); }
.rodape__base { max-width: var(--largura); margin-inline: auto; padding: var(--e-4) var(--gutter) var(--e-6); display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem; font-size: var(--t-xs); color: var(--tinta-2); border-top: 1px solid var(--linha); }
@media (max-width: 820px) { .rodape__in { grid-template-columns: 1fr 1fr; } .rodape__marca { grid-column: 1 / -1; } }
@media (max-width: 480px) { .rodape__in { grid-template-columns: 1fr; } }

main { display: block; min-height: 60vh; }
main:focus { outline: none; }
.tela-entra { animation: entra .35s ease-out both; }
@keyframes entra { from { opacity: .4; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.rodape__in > * { min-width: 0; } .rodape .selecionavel { overflow-wrap: anywhere; }


/* ===== assets/css/componentes.css ===== */
/* Criado, desenvolvido, testado, abandonado, rejeitado, recuperado e testado fonte vozes da minha cabeça - William Tassi Moreira */
/* ACCTNN — Componentes reutilizáveis */

/* Botões */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .6rem 1.15rem; border-radius: var(--raio); border: 2px solid var(--rio); background: var(--rio); color: var(--sobre-rio); font-weight: 700; font-size: var(--t-sm); letter-spacing: .02em; text-decoration: none; cursor: pointer; transition: transform .15s, background .15s, color .15s; }
.btn:hover { color: var(--sobre-rio); transform: translateY(-1px); background: color-mix(in srgb, var(--rio) 86%, var(--tinta)); }
.btn--sol { background: var(--sol); border-color: var(--sol); color: var(--sobre-sol); }
.btn--sol:hover { background: color-mix(in srgb, var(--sol) 85%, var(--tinta)); color: var(--sobre-sol); }
.btn--vazado { background: transparent; color: var(--tinta); border-color: var(--linha); }
.btn--vazado:hover { background: var(--papel-2); color: var(--tinta); border-color: var(--tinta-2); }
.btn--pequeno { min-height: 36px; padding: .35rem .85rem; font-size: var(--t-xs); }
/* versão 46.1: botão "Denunciar" fixo no topo (açaí), no computador e no celular */
.btn--acai { background: var(--acai); border-color: var(--acai); color: #fff; }
.btn--acai:hover, .btn--acai:focus-visible { background: #3A1630; border-color: #3A1630; color: #fff; }
.btn-denuncia { display: inline-flex; align-items: center; gap: .35rem; }
.btn-denuncia svg, .topo-denuncia svg { width: 18px !important; height: 18px !important; flex: none; }
.btn-denuncia[hidden] { display: none; }
.topo-denuncia { display: none; }
@media (min-width: 1241px) and (max-width: 1420px) { .menu a { padding: .5rem .45rem; } }
@media (max-width: 600px) {
  .topo #bt-denunciar { display: none; }
  .topo-denuncia { display: flex; align-items: center; gap: .5rem; padding: .55rem var(--gutter, 16px); background: var(--acai); color: #fff; text-decoration: none; font-size: var(--t-sm); }
  .topo-denuncia span:nth-of-type(1) { flex: 1; } .topo-denuncia b { font-weight: 700; }
  .topo-denuncia[hidden] { display: none; }
}
.btn--zap { background: #1E8E4E; border-color: #1E8E4E; color: #fff; }
.btn--zap:hover { background: #17733F; color: #fff; }
.btn-icone { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: var(--raio); border: 1px solid var(--linha); background: var(--papel); color: var(--tinta); cursor: pointer; }
.btn-icone:hover { background: var(--papel-2); }

/* Selos (situação) */
.selo { display: inline-flex; align-items: center; gap: .35rem; padding: .15rem .55rem; border-radius: 99px; font-size: var(--t-xs); font-weight: 700; letter-spacing: .02em; background: var(--papel-2); color: var(--tinta-2); white-space: nowrap; }
.selo::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.selo--ok { color: var(--ok); background: color-mix(in srgb, var(--ok) 13%, transparent); }
.selo--alerta { color: var(--alerta); background: color-mix(in srgb, var(--alerta) 15%, transparent); }
.selo--erro { color: var(--erro); background: color-mix(in srgb, var(--erro) 13%, transparent); }
.selo--exclusiva { color: #fff; background: var(--acai); }   /* versão 46.2: vaga cadastrada direto na ACCTNN */
.selo--exclusiva::before { content: "★"; width: auto; height: auto; border-radius: 0; background: none; color: var(--sol); font-size: .95em; line-height: 1; }
.selo--norte { color: var(--rio); background: var(--rio-claro); }
.selo--nordeste { color: var(--sobre-sol); background: var(--sol-claro); }
:root[data-theme="dark"] .selo--nordeste { color: var(--sol); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .selo--nordeste { color: var(--sol); } }

/* Cartões */
.cartao { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio-g); padding: var(--e-5); min-width: 0; }
.cartao--sombra { box-shadow: var(--sombra); }

/* Formulários */
.campo { display: grid; gap: .35rem; min-width: 0; align-content: start; }   /* versão 33.4: os campos não esticam (ficavam tortos ao lado do campo de cidade) */
.campo label, .rotulo { font-size: var(--t-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--tinta-2); }
.entrada, .campo input, .campo select, .campo textarea { width: 100%; min-height: 44px; padding: .55rem .8rem; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--papel); color: var(--tinta); }
.campo textarea { min-height: 110px; resize: vertical; }
.entrada:focus, .campo input:focus, .campo select:focus, .campo textarea:focus { outline: 2px solid var(--rio); outline-offset: 0; border-color: var(--rio); }
.ajuda { font-size: var(--t-xs); color: var(--tinta-2); }
.grade-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e-4); }
.grade-form .inteiro { grid-column: 1 / -1; }
@media (max-width: 620px) { .grade-form { grid-template-columns: 1fr; } }
.check { display: flex; gap: .6rem; align-items: flex-start; font-size: var(--t-sm); }
.check input { width: 18px; height: 18px; margin-top: .2rem; accent-color: var(--rio); flex: none; }

/* Tabelas */
.tabela-rolo { overflow-x: auto; border: 1px solid var(--linha); border-radius: var(--raio-g); background: var(--papel); }
.tabela { width: 100%; border-collapse: collapse; font-size: var(--t-sm); }
.tabela th { text-align: left; font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--tinta-2); padding: .75rem 1rem; border-bottom: 1px solid var(--linha); background: var(--papel-2); white-space: nowrap; }
.tabela td { padding: .7rem 1rem; border-bottom: 1px solid var(--linha); vertical-align: middle; }
.tabela tr:last-child td { border-bottom: 0; }
.tabela tbody tr:hover { background: color-mix(in srgb, var(--rio-claro) 45%, transparent); }
.tabela .dir { text-align: right; font-variant-numeric: tabular-nums; }

/* Faixa do Encontro */
.faixa { height: 56px; background-repeat: repeat-x; background-size: auto 100%; }
.faixa--fina { height: 22px; }
.faixa--alta { height: 88px; }

/* Abas */
.abas { display: flex; flex-wrap: wrap; gap: .25rem; border-bottom: 1px solid var(--linha); }
/* versão 33.3: no computador as abas quebram a linha (sem barra de rolagem); no celular deslizam com o dedo, sem barra aparecendo */
@media (max-width: 640px) {
  .abas { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity;
          -webkit-mask-image: linear-gradient(to right, #000 85%, transparent); mask-image: linear-gradient(to right, #000 85%, transparent); }
  .abas::-webkit-scrollbar { display: none; }
  .abas button { scroll-snap-align: start; padding: .65rem .8rem; }
}
.abas button { flex: none; border: 0; background: none; padding: .7rem 1rem; font-weight: 600; font-size: var(--t-sm); color: var(--tinta-2); cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.abas button[aria-selected="true"] { color: var(--tinta); border-bottom-color: var(--urucum); }

/* Fichas (filtros) */
.fichas { display: flex; flex-wrap: wrap; gap: .4rem; }
.ficha { border: 1px solid var(--linha); background: var(--papel); color: var(--tinta-2); border-radius: 99px; padding: .35rem .85rem; font-size: var(--t-xs); font-weight: 600; cursor: pointer; }
.ficha[aria-pressed="true"] { background: var(--tinta); color: var(--chao); border-color: var(--tinta); }

/* Janela (aviso em construção, visualização) */
.janela-fundo { position: fixed; inset: 0; z-index: 80; background: rgba(10,16,13,.55); display: grid; place-items: center; padding: 16px; animation: aparece .2s ease-out; }
@keyframes aparece { from { opacity: 0; } }
.janela { width: min(560px, 100%); max-height: calc(100vh - 32px); overflow: auto; background: var(--papel); color: var(--tinta); border-radius: var(--raio-g); box-shadow: 0 30px 80px -20px rgba(0,0,0,.5); }
.janela--larga { width: min(860px, 100%); }
.janela__faixa { height: 26px; border-radius: var(--raio-g) var(--raio-g) 0 0; }
.janela__corpo { padding: var(--e-5) var(--e-6) var(--e-6); display: grid; gap: var(--e-4); }
.janela__fechar { justify-self: end; margin-bottom: -2.4rem; position: relative; z-index: 2; }  /* v13: fica por cima do título que vem depois (antes o clique não pegava) */
.janela h3 { font-size: 2rem; text-transform: uppercase; }
.construcao-icone { width: 64px; height: 64px; }
.linha-acoes { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.numero-zap { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; padding: .6rem .8rem; border: 1px dashed var(--linha); border-radius: var(--raio); background: var(--papel-2); font-family: var(--f-mono); }

/* Aviso flutuante */
.aviso-flutuante { position: fixed; left: 50%; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); z-index: 90; background: var(--tinta); color: var(--chao); padding: .7rem 1.1rem; border-radius: var(--raio); font-size: var(--t-sm); font-weight: 600; box-shadow: var(--sombra); max-width: calc(100% - 32px); }

/* Faixa de “dados de exemplo” */
.exemplo { display: inline-flex; align-items: center; gap: .4rem; font-size: var(--t-xs); font-weight: 700; color: var(--urucum); text-transform: uppercase; letter-spacing: .1em; }

/* Marca d'água do desenvolvedor (somente áreas com login) */
.marca-dagua { position: fixed; right: 16px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); z-index: 0; pointer-events: none; display: grid; justify-items: end; gap: 0; opacity: .32; color: var(--tinta-2); text-align: right; }
.marca-dagua svg { width: 54px; height: auto; margin-bottom: 2px; }
.marca-dagua small { font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.marca-dagua strong { font-size: .9rem; font-weight: 700; }
.marca-dagua span { font-size: .7rem; font-family: var(--f-mono); }
@media (max-width: 600px) { .marca-dagua { opacity: .22; } .marca-dagua svg { width: 38px; } }

/* O conteúdo das áreas com login fica por cima da marca d'água */
.painel__main > * { position: relative; z-index: 1; }
/* versão 33: caixinhas de marcar dentro de um campo (ex.: perfis da equipe) — sem o estilo de título do campo, em botões alinhados */
.campo label.check { text-transform: none; letter-spacing: 0; font-weight: 500; font-size: var(--t-sm); color: var(--tinta); }
.escolhas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(170px, 100%), 1fr)); gap: .5rem; margin: .35rem 0 .6rem; }
@media (max-width: 520px) { .escolhas { grid-template-columns: 1fr 1fr; } }
.escolhas .check { align-items: center; margin: 0; padding: .5rem .7rem; min-height: 0; line-height: 1.25; border: 1px solid var(--linha); border-radius: var(--raio-g, 8px); background: var(--papel); cursor: pointer; transition: border-color .15s, background .15s; }
.escolhas .check input { margin: 0; width: 18px; height: 18px; min-height: 0; padding: 0; border: 0; box-shadow: none; outline: none; }
.escolhas .check:hover { border-color: var(--rio); }
.escolhas .check:has(input:checked) { border-color: var(--rio); background: color-mix(in srgb, var(--rio) 10%, var(--papel)); }
.escolhas .check:has(input:focus-visible) { box-shadow: 0 0 0 2px var(--rio); }
/* versão 33.5: imagem do cartão de visita (anúncio de serviço) — deitada, como um cartão de papel (amostra 1039 × 600) */
.cartao-servico { display: block; width: 100%; aspect-ratio: 1039 / 600; object-fit: contain; background: var(--papel-2); border-radius: var(--raio-g, 8px);
  border: 1px solid var(--linha); margin-bottom: .6rem; overflow: hidden; }
.cartao-servico img { width: 100%; height: 100%; object-fit: contain; display: block; }
.cartao-servico--previa { display: grid; place-items: center; max-width: 320px; margin: 0; color: var(--tinta-2); font-size: var(--t-xs); }
.cartao-servico--mini { width: 150px; margin: 0 0 .3rem; }
.campo-cartao__linha { display: flex; gap: 1rem; align-items: flex-start; flex-wrap: wrap; }
.campo-cartao__linha > div:last-child { display: grid; gap: .3rem; flex: 1; min-width: 200px; }

/* versão 42: faixa fixa "Venha trabalhar perto da sua gente" (portal e sites das associações) — assets/js/faixa-trabalho.js */
.faixa-trabalho { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--papel); border-top: 3px solid var(--sol);
  box-shadow: 0 -6px 24px rgb(0 0 0 / .12); padding: .6rem var(--gutter, 16px) calc(.6rem + env(safe-area-inset-bottom, 0px)); }
.faixa-trabalho[hidden] { display: none; }
.faixa-trabalho__env { max-width: 1180px; margin: 0 auto; display: flex; align-items: center; gap: .8rem; position: relative; padding-right: 2rem; }
.faixa-trabalho__icone { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--rio); color: var(--sobre-rio, #fff); }
.faixa-trabalho__icone svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.faixa-trabalho__texto { min-width: 0; flex: 1 1 auto; display: grid; gap: .1rem; line-height: 1.25; }
.faixa-trabalho__texto b { font-size: var(--t-md, 1.05rem); }
.faixa-trabalho__texto small { color: var(--tinta-2); font-size: var(--t-sm); }
.faixa-trabalho__acoes { flex: none; display: flex; gap: .5rem; flex-wrap: wrap; }
.faixa-trabalho__fechar { position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; border: 0; border-radius: 50%;
  background: transparent; color: var(--tinta-2); font-size: 1.4rem; line-height: 1; cursor: pointer; }
.faixa-trabalho__fechar:hover, .faixa-trabalho__fechar:focus-visible { background: var(--papel-2); color: var(--tinta); }
.faixa-trabalho__perto { max-width: 1180px; margin: .6rem auto 0; display: grid; gap: .5rem; border-top: 1px solid var(--linha); padding-top: .6rem; font-size: var(--t-sm); }
.faixa-trabalho__perto select { max-width: 320px; }
.faixa-trabalho__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.faixa-trabalho__lista span { color: var(--tinta-2); }
.faixa-trabalho__mudo { color: var(--tinta-2); margin: 0; }
body.com-faixa-trabalho { padding-bottom: var(--faixa-trabalho-h, 0px); }
body.com-faixa-trabalho .aviso-flutuante { bottom: calc(20px + var(--faixa-trabalho-h, 0px)); }
body.com-faixa-trabalho .marca-dagua { bottom: calc(14px + var(--faixa-trabalho-h, 0px)); }
@media (max-width: 720px) {
  .faixa-trabalho__env { flex-wrap: wrap; gap: .5rem .7rem; }
  .faixa-trabalho__icone { width: 34px; height: 34px; }
  .faixa-trabalho__texto { flex: 1 1 calc(100% - 80px); }
  .faixa-trabalho__texto small { display: none; }
  .faixa-trabalho__acoes { flex: 1 1 100%; }
  .faixa-trabalho__acoes .btn { flex: 1 1 0; justify-content: center; text-align: center; }
  .faixa-trabalho__fechar { top: 18px; transform: none; }
}
@media print { .faixa-trabalho { display: none !important; } body.com-faixa-trabalho { padding-bottom: 0; } }

/* versão 43: álbum de fotos (painel e site da associação) */
.fo-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .8rem; margin-top: .8rem; }
.fo-item { margin: 0; padding: .5rem; display: grid; gap: .4rem; }
.fo-item img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--raio); background: var(--papel-2); }
.fo-item figcaption { display: grid; gap: .4rem; }
.fo-item figcaption input { width: 100%; }
.fo-prev:empty { display: none; }
.album-site { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .5rem; margin-top: .6rem; }
.album-site button { padding: 0; border: 0; background: none; cursor: zoom-in; border-radius: var(--raio); overflow: hidden; }
.album-site img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; transition: transform .2s; }
.album-site button:hover img, .album-site button:focus-visible img { transform: scale(1.04); }
.foto-tela { position: fixed; inset: 0; z-index: 95; height: 100vh; height: 100dvh; background: rgb(8 12 10 / .92); display: grid; grid-template-rows: auto 1fr auto; color: #fff; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); }
.foto-tela[hidden] { display: none; }
.foto-tela__topo { display: flex; justify-content: space-between; align-items: center; gap: .5rem; font-size: var(--t-sm); }
.foto-tela__img { min-height: 0; display: grid; place-items: center; position: relative; }
.foto-tela__img img { max-width: 100%; max-height: calc(100vh - 150px); max-height: calc(100dvh - 150px); object-fit: contain; border-radius: 4px; }
.foto-tela__img .foto-pedido { max-height: calc(100vh - 150px); max-height: calc(100dvh - 150px); }
.foto-tela__seta { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgb(255 255 255 / .16); color: #fff; font-size: 1.6rem; cursor: pointer; }
.foto-tela__seta--antes { left: 0; } .foto-tela__seta--depois { right: 0; }
.foto-tela__baixo { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: space-between; padding-top: .6rem; }
.foto-tela__baixo p { margin: 0; flex: 1 1 200px; }
.foto-tela .btn--vazado { color: #fff; border-color: rgb(255 255 255 / .6); background: transparent; }
.foto-tela__fechar { border: 0; background: rgb(255 255 255 / .16); color: #fff; width: 40px; height: 40px; border-radius: 50%; font-size: 1.4rem; cursor: pointer; }
.foto-pedido { background: var(--papel); color: var(--tinta); border-radius: var(--raio); padding: 1rem; max-width: 520px; width: 100%; margin: 0 auto; display: grid; gap: .5rem; max-height: 100%; overflow: auto; }
body.foto-aberta { overflow: hidden; }

/* versão 45: canal de denúncia anônima */
.dn-lista { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: .3rem; font-size: var(--t-sm); }
.dn-lista li { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.dn-codigo { display: grid; gap: .1rem; margin: .8rem 0; padding: .8rem 1rem; border: 2px dashed var(--sol); border-radius: var(--raio); }
.dn-codigo b { font-family: var(--f-mono, monospace); font-size: 1.6rem; letter-spacing: .12em; word-break: break-all; }

/* versão 47.1: crédito da Informática Criciúma e número da versão (entrar, painel e rodapé) */
.creditos { font-size: var(--t-xs); color: var(--tinta-2); line-height: 1.6; text-align: center; }
.painel__lado .creditos { text-align: left; }
.creditos a { color: inherit; }
.creditos__versao { font-family: var(--f-mono); }

/* versão 48: medidor de espaço */
.medidor { display: grid; gap: .3rem; margin: .5rem 0; }
.medidor__barra { height: 10px; border-radius: 99px; background: var(--papel-2, #e3e8e0); overflow: hidden; }
.medidor__barra span { display: block; height: 100%; border-radius: inherit; background: var(--rio); }
.medidor__barra--fina { height: 6px; }
.medidor__texto { font-size: var(--t-xs); color: var(--tinta-2); }
.medidor--grande .medidor__barra { height: 18px; }
.medidor--grande .medidor__texto { font-size: var(--t-sm); }
.medidor--grande .medidor__texto b { font-size: 1.3em; color: var(--tinta); }
.painel__main .tabela td.num { white-space: nowrap; }   /* versão 48: tamanhos sem quebrar a linha */

/* versão 48.2: aviso curto da autonomia das entidades (cadastros, painel e páginas institucionais) */
.aviso-rede { border-left: 4px solid var(--sol); background: color-mix(in srgb, var(--sol) 8%, var(--papel)); }
.aviso-rede b { display: block; margin-bottom: .3rem; }
.aviso-rede p { font-size: var(--t-sm); }
.termo-entidade { margin-bottom: 1rem; border: 2px solid var(--sol); }

/* versão 48.8: convite do Canal da ACCTNN no WhatsApp */
.canal-convite { display: flex; gap: var(--e-4); align-items: center; flex-wrap: wrap; border: 2px solid #1F8A4C; background: color-mix(in srgb, #1F8A4C 7%, var(--papel)); margin-top: var(--e-4); }
.canal-convite > div { flex: 1 1 240px; min-width: 0; }
.canal-convite p { margin: .2rem 0 0; font-size: var(--t-sm); }
.canal-convite__icone { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #1F8A4C; color: #fff; flex: none; }
.btn--canal { background: #1F8A4C; border-color: #1F8A4C; color: #fff; display: inline-flex; align-items: center; gap: .45rem; font-weight: 800; }
.btn--canal:hover, .btn--canal:focus-visible { background: #166B3A; border-color: #166B3A; color: #fff; }
.canal-convite--grande { flex-direction: column; text-align: center; padding: var(--e-5, 1.5rem); }
.canal-convite--grande > div { flex: none; }
.canal-convite--grande .btn--canal { width: 100%; justify-content: center; font-size: 1.1rem; padding: .9rem 1.2rem; animation: canal-pulsa 2.4s ease-in-out infinite; }
@keyframes canal-pulsa { 0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, #1F8A4C 45%, transparent); } 50% { box-shadow: 0 0 0 10px transparent; } }
@media (prefers-reduced-motion: reduce) { .canal-convite--grande .btn--canal { animation: none; } }
/* versão 48.9: opções recolhidas no cadastro da Rede (cadastro mais curto) */
.mais-opcoes { margin: .5rem 0; }
.mais-opcoes > summary { cursor: pointer; font-weight: 700; font-size: var(--t-sm); color: var(--rio); padding: .3rem 0; }
.mais-opcoes[open] > summary { margin-bottom: .3rem; }
.mais-opcoes .check { margin-top: .35rem; }
/* versão 51: "Siga-nos no Instagram" */
.btn--insta { background: linear-gradient(45deg, #C13584, #E1306C 45%, #F77737); border-color: transparent; color: #fff; }
.btn--insta:hover, .btn--insta:focus-visible { filter: brightness(1.08); color: #fff; }
.btn--insta small { opacity: .85; font-weight: 600; }
.insta-seguir .linha-acoes { margin-top: .4rem; flex-wrap: wrap; }

/* versão 51.2: avisos de espaço (50%, 80%, 95%) */
.espaco-aviso { border-left: 4px solid var(--rio); margin-bottom: var(--e-4, 1rem); }
.espaco-aviso--sol { border-left-color: var(--sol); }
.espaco-aviso--urucum { border-left-color: var(--urucum); }

/* versão 51.4: vagas e negócios da Rede ACCTNN em açaí (as da ACIC continuam como estavam) */
.vaga--acctnn { border-top: 4px solid var(--acai); }
.selo--acai { color: #fff; background: var(--acai); }

/* versão 51.5: "Quero me associar" — a associação escolhida no topo do cadastro */
.associar-faixa { border-left: 6px solid var(--sol, #E09A12); margin-bottom: 1rem; }
.associar-faixa h3 { margin: .2rem 0 0; font-size: 1.35rem; }

/* versão 51.5: páginas da associação e do evento no portal (/associacoes/<endereço>, /eventos/<id>) */
.pagina-assoc > * + * { margin-top: 1.1rem; }
.pagina-assoc > h2 { margin-top: 2rem; }
.pagina-assoc a.cartao { text-decoration: none; color: inherit; display: block; }
.pagina-assoc a.cartao h4 { color: var(--rio, #0C6A5A); }

/* versão 51.6: Visitas ao site (painel) */
.visitas-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .8rem; }
.visitas-numeros .cartao b { display: block; font-size: 2rem; line-height: 1.1; margin-top: .3rem; font-family: var(--f-titulo, inherit); }
.visitas-grafico { width: 100%; height: auto; display: block; margin-top: .6rem; }
.visitas-grafico rect { fill: var(--rio, #0C6A5A); }
.visitas-grafico text { font-size: 11px; fill: currentColor; opacity: .7; }
.visitas-duas { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 0 1.2rem; }
.link-botao { background: none; border: 0; padding: 0; color: var(--rio, #0C6A5A); text-decoration: underline; font: inherit; cursor: pointer; }

/* versão 51.7: diretoria, mandatos e assembleias (painel) */
.mandato { margin-top: .8rem; }
.mandato--atual { border-left: 6px solid var(--rio, #0C6A5A); }
.mandato h3 { margin: .3rem 0 .1rem; font-size: 1.3rem; }
.edital-texto { width: 100%; font-family: var(--f-mono, monospace); font-size: .9rem; line-height: 1.5; white-space: pre-wrap; }

/* versão 51.8: Indique um conterrâneo e canal da associação */
.indique { border-left: 6px solid var(--sol, #E09A12); display: grid; gap: .5rem; }
.indique .entrada { width: 100%; }
.site-canal { margin-top: 1rem; }

/* versão 52: convênios — o celular do conveniado na tela de conferir */
.conveniado { border-left: 6px solid var(--sol, #E09A12); margin-bottom: 1rem; }
.conveniado b { display: block; font-size: 1.2rem; }

/* versão 52.1: notícias */
.noticia-cartao { display: grid; gap: .3rem; text-decoration: none; color: inherit; align-content: start; }
.noticia-cartao img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--raio, 8px); }
.noticia-cartao h3, .noticia-cartao h4 { margin: .1rem 0; }
.noticia-pagina { display: block; }
.noticia-pagina p { line-height: 1.7; margin: .8rem 0; }

/* versão 52.2: relatórios — na impressão sai só o relatório */
.relatorio h4 { margin: 1.4rem 0 .5rem; font-size: 1.15rem; }
.relatorio__titulo { margin-top: 1rem; }
.visitas-numeros .cartao small { display: block; margin-top: .2rem; }
@media print {
  body.imprimindo-relatorio * { visibility: hidden; }
  body.imprimindo-relatorio #rl-conteudo, body.imprimindo-relatorio #rl-conteudo * { visibility: visible; }
  body.imprimindo-relatorio #rl-conteudo { position: absolute; left: 0; top: 0; width: 100%; }
}

/* versão 52.3: menu do topo com submenus */
.menu { align-items: center; }
.menu__grupo { position: relative; }
.menu__abre { display: inline-flex; align-items: center; gap: .25rem; background: none; border: 0; cursor: pointer; font: inherit; color: var(--tinta-2);
  font-weight: 600; font-size: var(--t-sm); padding: .5rem .7rem; border-radius: var(--raio); }
.menu__abre:hover, .menu__grupo.aberto .menu__abre { color: var(--tinta); background: var(--papel-2); }
.menu__grupo--atual .menu__abre { color: var(--tinta); box-shadow: inset 0 -3px 0 var(--sol); border-radius: 0; }
.menu__seta { transition: transform .15s; }
.menu__grupo.aberto .menu__seta { transform: rotate(180deg); }
.menu__sub { display: none; position: absolute; top: 100%; left: 0; z-index: 60; min-width: 240px; padding: .4rem; background: var(--papel);
  border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--sombra); }
.menu__grupo.aberto .menu__sub { display: grid; }
.menu .menu__sub a { display: block; padding: .55rem .7rem; white-space: nowrap; }
.menu .menu__sub a[aria-current="page"] { box-shadow: inset 3px 0 0 var(--sol); border-radius: 0; }
[data-ap-topo="cor"] .topo .menu__abre { color: color-mix(in srgb, var(--sobre-rio) 82%, transparent); }
[data-ap-topo="cor"] .topo .menu__sub a { color: var(--tinta-2); }
@media (min-width: 1241px) and (max-width: 1420px) { .menu__abre { padding: .5rem .45rem; } }
@media (max-width: 1240px) {
  .menu { align-items: stretch; max-height: calc(100vh - 64px); overflow-y: auto; }
  .menu__abre { width: 100%; justify-content: space-between; padding: .8rem .4rem; font-size: 1rem; }
  .menu__grupo--atual .menu__abre { box-shadow: inset 3px 0 0 var(--sol); padding-left: .8rem; }
  .menu__sub { position: static; box-shadow: none; border: 0; border-left: 2px solid var(--linha); border-radius: 0; margin: 0 0 .4rem .6rem; padding: 0 0 0 .4rem; min-width: 0; }
  .menu .menu__sub a { white-space: normal; padding: .65rem .4rem; font-size: .95rem; }
}

/* versão 52.3: Formalize-se */
.formalize-razoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.formalize-razoes .cartao h3 { font-size: 1.1rem; margin: 0 0 .3rem; }
.formalize-passos { counter-reset: passo; list-style: none; padding: 0; display: grid; gap: .6rem; }
.formalize-passos li { counter-increment: passo; display: grid; grid-template-columns: 2.2rem 1fr; gap: .6rem; align-items: start; }
.formalize-passos li::before { content: counter(passo); display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--rio, #0C6A5A); color: #fff; font-weight: 700; }
.bib__grupo-titulo { margin: 1.2rem 0 .4rem; font-size: 1.15rem; }

/* versão 52.4: aba "Acontece" e "Café com a CTN" */
.selo--sol { color: var(--tinta); background: color-mix(in srgb, var(--sol) 35%, transparent); }
.acontece-filtros { display: flex; flex-wrap: wrap; gap: var(--e-3); align-items: end; margin: var(--e-4) 0 var(--e-3); }
.acontece-filtros .campo { min-width: 220px; margin: 0; }
.acontece-perto { margin-bottom: var(--e-3); }
.acontece-bloco { margin-top: var(--e-6, 2rem); }
.acontece-bloco__cab { display: flex; align-items: center; justify-content: space-between; gap: var(--e-3); margin-bottom: var(--e-3); flex-wrap: wrap; }
.acontece-bloco__cab h3 { margin: 0; }
.cafe-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--e-4); }
.cafe { display: grid; gap: .35rem; align-content: start; min-width: 0; }
.cafe h4 { margin: .1rem 0; }
.cafe__midia { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--raio, 8px); background: var(--fundo-2, #0001); display: block; }
#janela .cafe__midia { aspect-ratio: auto; max-height: 70vh; object-fit: contain; }
.cafe__historia { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; margin: 0; font-size: var(--t-sm); }
/* agenda (veio de membro.css): Agenda cultural, Acontece e a página /eventos */
.agenda-lista { display: grid; gap: var(--e-3); }
.agenda-item { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: var(--e-4); align-items: start; }
.agenda-item h4 { margin: .3rem 0 .1rem; font-size: 1.05rem; }
.agenda-dia { display: grid; justify-items: center; background: var(--sol-claro); color: var(--tinta); border-radius: var(--raio); padding: .4rem 0; }
.agenda-dia b { font: 900 1.7rem/1 var(--f-titulo); }
.agenda-dia span { font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; }
/* versão 52.6: ficha completa (Modo Deus) */
.ficha-dl { display: grid; grid-template-columns: minmax(120px, max-content) minmax(0, 1fr); gap: .25rem .9rem; margin: .4rem 0; font-size: var(--t-sm); }
.ficha-dl dt { color: var(--tinta-2); font-weight: 600; }
.ficha-dl dd { margin: 0; overflow-wrap: anywhere; white-space: pre-line; }
@media (max-width: 560px) { .ficha-dl { grid-template-columns: 1fr; } .ficha-dl dd { margin-bottom: .3rem; } }
/* versão 52.8: Área Kids */
.kids-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: var(--e-3); margin-bottom: var(--e-4); }
.kids-mini { display: grid; gap: .3rem; padding: .5rem; background: var(--fundo, #fff); border: 2px solid var(--linha); border-radius: var(--raio, 8px); cursor: pointer; font: inherit; font-weight: 700; font-size: var(--t-sm); color: var(--tinta); }
.kids-mini[aria-selected="true"] { border-color: var(--urucum); box-shadow: 0 0 0 3px color-mix(in srgb, var(--urucum) 25%, transparent); }
.kids-mini svg { width: 100%; aspect-ratio: 1; background: #fff; border-radius: 6px; }
.kids-mesa { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--e-5); align-items: start; }
@media (max-width: 820px) { .kids-mesa { grid-template-columns: 1fr; } }
.kids-folha svg { display: block; width: 100%; max-width: 640px; aspect-ratio: 1; background: #fff; border: 2px solid var(--linha); border-radius: var(--raio, 8px); touch-action: manipulation; }
.kids-folha [data-pinta] { cursor: pointer; }
.kids-cores { display: grid; grid-template-columns: repeat(7, 1fr); gap: .45rem; margin-bottom: var(--e-3); }
.kids-cor { aspect-ratio: 1; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 1px #0004; cursor: pointer; min-width: 36px; }
.kids-cor[aria-checked="true"] { box-shadow: 0 0 0 3px var(--tinta); transform: scale(1.08); }
.kids-sobre { margin-top: var(--e-3); }
.kids-sobre p { margin: .3rem 0 0; }

/* versão 53.3: Estudos e Conhecimento (#estudos) */
.estudos-filtros { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--e-3); align-items: end; }
.estudos-filtros .campo { margin: 0; }
@media (max-width: 640px) { .estudos-filtros { grid-template-columns: 1fr 1fr; } .estudos-filtros .campo:first-child { grid-column: 1 / -1; } }
.estudos-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--e-3); margin-top: .6rem; }
@media (max-width: 400px) { .estudos-lista { grid-template-columns: 1fr; } }
.estudo { display: flex; gap: var(--e-3); align-items: flex-start; }
.estudo__icone { flex: none; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 10px; background: var(--fundo-2, rgba(0,0,0,.04)); color: var(--urucum); }
.estudo__corpo { min-width: 0; flex: 1; }
.estudo__corpo h3 { margin: .4rem 0 .2rem; font-size: var(--t-lg, 1.15rem); overflow-wrap: anywhere; }
.estudo__corpo p { margin: .3rem 0; }
.estudo--destaque { border-color: var(--urucum); }
.barra-andamento { height: 8px; border-radius: 4px; background: var(--linha); overflow: hidden; margin-top: .6rem; }
/* versão 53.4: Histórias do Norte e Nordeste (#historias) */
.kids-historias { margin: 0 0 var(--e-4); text-decoration: none; color: inherit; }
.hist-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: var(--e-3); margin-bottom: var(--e-4); }
.hist-mini { text-align: left; }
.hist-mini svg { aspect-ratio: 4 / 3; }
.hist-mini small { font-weight: 400; color: var(--tinta-2); font-size: var(--t-xs); }
.hist-mini[aria-current="true"] { border-color: var(--urucum); box-shadow: 0 0 0 3px color-mix(in srgb, var(--urucum) 25%, transparent); }
.hist-mesa { scroll-margin-top: 80px; }
.hist-folha { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--e-4); align-items: start; margin-top: var(--e-3); background: #fff; color: #1E1A17; border: 2px solid var(--linha); border-radius: var(--raio, 8px); padding: var(--e-4); }
.hist-folha header { grid-column: 1 / -1; }
.hist-folha h2 { margin: .2rem 0 0; color: #1E1A17; }
.hist-desenho svg { display: block; width: 100%; aspect-ratio: 4 / 3; background: #fff; border: 2px solid #1E1A17; border-radius: 6px; touch-action: manipulation; }
.hist-folha[data-modo="colorir"] [data-pinta] { cursor: pointer; }
.hist-texto p { margin: 0 0 .7rem; font-size: 1.08rem; line-height: 1.6; }
.hist-moral { font-weight: 700; font-style: italic; }
.hist-credito { grid-column: 1 / -1; border-top: 1px solid #0002; padding-top: .6rem; font-size: var(--t-sm); color: #4a443f; }
body.tela-infantil .espaco-anuncio { display: none !important; }   /* versão 53.4: Área Kids e Histórias sem publicidade */
.hist-impressao { display: none; }
body.imprimindo-historia .hist-impressao { display: block; }
.hist-cores { margin-top: var(--e-3); grid-template-columns: repeat(auto-fill, minmax(40px, 1fr)); max-width: 640px; }
@media (max-width: 820px) { .hist-folha { grid-template-columns: 1fr; padding: var(--e-3); } }
@media print {
  body.imprimindo-historia > *:not(.hist-impressao) { display: none !important; }
  body.imprimindo-historia { background: #fff !important; }
  body.imprimindo-historia .hist-folha { display: block; border: 0; padding: 0; margin: 0; }
  body.imprimindo-historia .hist-desenho svg { max-height: 120mm; width: auto; max-width: 100%; margin: 4mm auto; border-width: 1px; }
  body.imprimindo-historia .hist-texto p { font-size: 12.5pt; margin: 0 0 2.5mm; }
}
.barra-andamento span { display: block; height: 100%; background: var(--urucum); transition: width .2s; }
@media print {
  body.imprimindo-kids * { visibility: hidden; }
  body.imprimindo-kids .kids-folha, body.imprimindo-kids .kids-folha * { visibility: visible; }
  body.imprimindo-kids .kids-folha { position: absolute; left: 0; top: 0; width: 100%; }
  body.imprimindo-kids .kids-folha svg { max-width: none; border: 0; }
}
/* versão 53: modelos de documentos no painel */
.doc-modelos { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: var(--e-3); margin-bottom: var(--e-4); }
.doc-modelo { display: grid; gap: .25rem; text-align: left; cursor: pointer; font: inherit; color: var(--tinta); }
.doc-modelo small { color: var(--tinta-2); font-size: var(--t-xs); }
.doc-mesa { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--e-4); align-items: start; margin-top: var(--e-3); }
@media (max-width: 980px) { .doc-mesa { grid-template-columns: 1fr; } }
.doc-campos { display: grid; gap: .5rem; }
.doc-campos .campo { margin: 0; }
.doc-campos textarea { width: 100%; }
.doc-folha { background: #fff; color: #1E1A17; padding: 2.2rem 2rem; border: 1px solid var(--linha); border-radius: 6px; box-shadow: 0 2px 10px #0001; font-family: Georgia, "Times New Roman", serif; font-size: 15px; line-height: 1.55; position: sticky; top: 80px; max-height: 85vh; overflow: auto; }
/* versão 53.1: papel timbrado da ACCTNN (cores claras fixas, para sair igual no papel) */
.papel-acctnn { --papel: #FFFFFF; --tinta: #18211D; --tinta-2: #4D5A53; --linha: #CDD5CB; --rio: #0C6A5A; --sol: #E09A12; --urucum: #B83C29; --acai: #4A1D3D;
  --sobre-rio: #FFFFFF; --sobre-sol: #1E1608; color: #18211D; }
.doc-papel-caixa { position: relative; }
.doc-papel { width: 100%; border-collapse: collapse; position: relative; z-index: 1; }
.doc-papel td { padding: 0; vertical-align: top; }
.doc-cab { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding-bottom: 8px; }
.doc-cab__selo svg { width: 64px; height: 64px; display: block; }
.doc-cab__nome { display: grid; gap: 2px; font-family: "Public Sans", Arial, sans-serif; }
.doc-cab__nome small { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #B83C29; }
.doc-cab__nome b { font-family: "Big Shoulders Display", "Arial Narrow", Impact, sans-serif; font-size: 22px; line-height: 1.05; text-transform: uppercase; color: #4A1D3D; letter-spacing: .01em; }
.doc-cab__nome span { font-size: 11px; color: #4D5A53; }
.doc-cab__contato { display: grid; gap: 2px; text-align: right; font-family: "Public Sans", Arial, sans-serif; font-size: 11px; color: #0C6A5A; font-weight: 600; }
.doc-faixa { height: 10px; background-repeat: repeat-x; background-size: auto 100%; border-radius: 2px; margin-bottom: 22px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.doc-faixa--fina { height: 6px; margin: 18px 0 6px; }
.doc-rodape__linha { display: flex; justify-content: space-between; gap: 10px; font-family: "Public Sans", Arial, sans-serif; font-size: 10px; color: #4D5A53; }
.doc-marca-dagua { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; z-index: 0; }
.doc-marca-dagua svg { width: 62%; max-width: 420px; opacity: .06; }
.doc-texto { white-space: pre-wrap; overflow-wrap: anywhere; }
.doc-impressao { display: none; }
@media print {
  body.imprimindo-documento > *:not(.doc-impressao) { display: none !important; }
  body.imprimindo-documento .doc-impressao { display: block; }
  body.imprimindo-documento .doc-folha { position: static; max-height: none; overflow: visible; border: 0; box-shadow: none; padding: 0; font-size: 12pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  /* papel branco mesmo com o painel no modo escuro; o selo do fundo no meio de cada página; o rodapé vai para o pé da folha */
  html:has(body.imprimindo-documento), body.imprimindo-documento { background: #fff !important; color: #18211D !important; }
  body.imprimindo-documento .doc-impressao, body.imprimindo-documento .doc-folha { background: #fff !important; color: #18211D !important; }
  body.imprimindo-documento .doc-marca-dagua { position: fixed; inset: 0; }
  body.imprimindo-documento .doc-papel { min-height: 271mm; }
  body.imprimindo-documento .doc-papel tbody td { height: 100%; }
}
@page { size: A4; margin: 12mm 14mm; }

/* versão 54.0: menu simplificado — submenus em blocos com título (Seja Membro e Comunidade em colunas no computador) */
.menu__bloco { display: grid; align-content: start; }
.menu__titulo { font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-3, var(--tinta-2)); padding: .5rem .7rem .2rem; }
.menu__grupo.aberto .menu__sub--largo { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 0 .4rem; min-width: min(680px, 92vw); }
.menu__grupo[data-grupo="comunidade"] .menu__sub { left: auto; right: 0; }
@media (max-width: 1240px) {
  .menu__grupo.aberto .menu__sub--largo { grid-template-columns: 1fr; min-width: 0; }
  .menu__titulo { padding: .6rem .4rem .1rem; }
}
/* versão 54.0: pergunta da ligação com o Norte e o Nordeste no cadastro */
fieldset.ligacao { border: 0; padding: 0; margin: 0; display: grid; gap: .35rem; }
fieldset.ligacao legend { font-weight: 600; font-size: var(--t-sm); margin-bottom: .3rem; padding: 0; }
fieldset.ligacao .check { margin: 0; align-items: center; }
/* versão 54.2: consulta de membros — histórico com datas */
.consulta-linha { padding-left: 1.2rem; display: grid; gap: .35rem; font-size: var(--t-sm); }
.tabela--ficha th { width: 34%; text-align: left; font-weight: 600; color: var(--tinta-2); }

/* versão 55.1 (William, 08/11/2026): o que foi cadastrado à mão pela nossa gente (vagas e anúncios do balcão) fica na cor açaí;
   o que é buscado de parceiros (vagas importadas da ACIC) continua na cor de sempre. */
.cartao--nossa { background: var(--acai); border-color: var(--acai); color: #FAFBF7; }
.cartao--nossa h3, .cartao--nossa h4 { color: #fff; }
.cartao--nossa .mudo, .cartao--nossa .ajuda, .cartao--nossa p { color: #EADDE6; }
.cartao--nossa a:not(.btn) { color: var(--sol-claro); }
.cartao--nossa .selo { background: rgba(255,255,255,.14); color: #fff; }
.cartao--nossa .selo--exclusiva { background: rgba(0,0,0,.22); }
.cartao--nossa .btn { background: var(--sol); border-color: var(--sol); color: #1E1608; }
.cartao--nossa .btn--zap { background: #1E8A4C; border-color: #1E8A4C; color: #fff; }
.cartao--nossa .btn--vazado { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.cartao--nossa .mono { color: #fff; }
.selo--nossa { color: #fff; background: var(--acai); }
.legenda-vagas { display: flex; gap: .5rem; flex-wrap: wrap; margin: 0 0 .8rem; }


/* ===== assets/css/telas.css ===== */
/* Criado, desenvolvido, testado, abandonado, rejeitado, recuperado e testado fonte vozes da minha cabeça - William Tassi Moreira */
/* ACCTNN — Estilos específicos das telas */

/* ---------- PORTAL: abertura ---------- */
.abertura { position: relative; overflow: hidden; padding-block: clamp(3rem, 7vw, 5.5rem) 0; }
.abertura__grade { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); gap: var(--e-7); align-items: center; }
.abertura h1 { letter-spacing: -.005em; }
.abertura h1 .rio { color: var(--rio); }
.abertura h1 .sol { color: var(--urucum); }
.abertura__texto { display: grid; gap: var(--e-5); min-width: 0; }
.abertura__texto > p { font-size: 1.15rem; color: var(--tinta-2); max-width: 54ch; }
.abertura__numeros { display: flex; flex-wrap: wrap; gap: var(--e-6); padding-top: var(--e-3); }
.abertura__numeros div { display: grid; }
.abertura__numeros strong { font: 900 2.4rem/1 var(--f-titulo); font-variant-numeric: tabular-nums; }
.abertura__numeros span { font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .1em; color: var(--tinta-2); }
.abertura__selo { position: relative; aspect-ratio: 1; max-width: 440px; width: 100%; justify-self: center; }
.abertura__selo svg { width: 100%; height: 100%; }
.abertura__legenda { font-size: var(--t-xs); color: var(--tinta-2); margin-top: var(--e-6); max-width: 70ch; }
.abertura .faixa { margin-top: var(--e-6); }
@media (max-width: 860px) { .abertura__grade { grid-template-columns: 1fr; } .abertura__selo { max-width: 200px; order: -1; } }

/* Dois lados — cultura */
.dois-lados { display: grid; grid-template-columns: 1fr auto 1fr; gap: var(--e-5); align-items: stretch; }
.lado { border-radius: var(--raio-g); padding: var(--e-6); display: grid; gap: var(--e-4); align-content: start; min-width: 0; }
.lado--norte { background: var(--rio); color: var(--sobre-rio); }
.lado--nordeste { background: var(--sol); color: var(--sobre-sol); }
.lado h3 { font-size: 2.2rem; text-transform: uppercase; }
.lado ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .55rem; }
.lado li { display: grid; grid-template-columns: 7.5rem 1fr; gap: .6rem; font-size: var(--t-sm); border-top: 1px solid currentColor; padding-top: .55rem; border-color: color-mix(in srgb, currentColor 25%, transparent); }
.lado li b { font-weight: 700; text-transform: uppercase; font-size: var(--t-xs); letter-spacing: .08em; padding-top: .15rem; }
.lado__uf { font-family: var(--f-mono); font-size: var(--t-xs); opacity: .85; }
.elo { display: grid; place-items: center; align-content: center; gap: .5rem; text-align: center; width: 140px; }
.elo svg { width: 92px; height: 92px; }
.elo p { font: 700 1.1rem/1.05 var(--f-titulo); text-transform: uppercase; }
.comum { margin-top: var(--e-5); display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--e-4); }
.comum div { border-top: 3px solid var(--urucum); padding-top: .6rem; }
.comum b { font: 700 1.25rem/1.1 var(--f-titulo); text-transform: uppercase; display: block; margin-bottom: .2rem; }
.comum p { font-size: var(--t-sm); color: var(--tinta-2); }
@media (max-width: 900px) { .dois-lados { grid-template-columns: 1fr; } .elo { width: auto; grid-auto-flow: column; justify-content: center; } .elo svg { width: 56px; height: 56px; } .comum { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 480px) { .comum { grid-template-columns: 1fr; } .lado li { grid-template-columns: 1fr; gap: .1rem; } }

/* Mapa em grade (cartograma) */
.mapa-bloco { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--e-7); align-items: center; }
.mapa { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 5px; max-width: 420px; width: 100%; }
.uf { aspect-ratio: 1; border-radius: 5px; display: grid; place-items: center; align-content: center; font: 700 .78rem/1 var(--f-mono); background: var(--papel); border: 1px solid var(--linha); color: var(--tinta-2); position: relative; cursor: pointer; padding: 0; }
.uf small { font: 500 .62rem/1 var(--f-texto); margin-top: 3px; }
.uf--norte { box-shadow: inset 0 -4px 0 var(--rio); }
.uf--nordeste { box-shadow: inset 0 -4px 0 var(--sol); }
.uf[data-n="1"] { background: var(--rio-claro); color: var(--tinta); }
.uf[data-n="2"], .uf[data-n="3"] { background: color-mix(in srgb, var(--rio) 45%, var(--papel)); color: var(--tinta); }
.uf[data-n="4"], .uf[data-n="5"], .uf[data-n="6"] { background: var(--rio); color: var(--sobre-rio); }
.uf:hover, .uf[aria-pressed="true"] { outline: 2px solid var(--urucum); outline-offset: 1px; }
.mapa-legenda { display: flex; flex-wrap: wrap; gap: var(--e-4); font-size: var(--t-xs); color: var(--tinta-2); margin-top: var(--e-4); }
.mapa-legenda i { display: inline-block; width: 14px; height: 14px; border-radius: 3px; vertical-align: -2px; margin-right: .35rem; border: 1px solid var(--linha); }
.mapa-info { display: grid; gap: var(--e-4); min-width: 0; }
.mapa-lista { display: grid; gap: .5rem; }
@media (max-width: 860px) { .mapa-bloco { grid-template-columns: 1fr; } }

/* Lista de entidades (diretório) */
.ent-item { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; gap: var(--e-4); align-items: center; padding: var(--e-4); background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio-g); text-align: left; width: 100%; color: inherit; font: inherit; }
.ent-item + .ent-item { margin-top: 0; }
.ent-sigla { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; font: 900 1.05rem/1 var(--f-titulo); color: #fff; letter-spacing: .03em; }
.ent-item h4 { font-family: var(--f-texto); font-size: 1rem; font-weight: 700; line-height: 1.3; }
.ent-item p { font-size: var(--t-sm); color: var(--tinta-2); }
.ent-item .mono { font-size: .76rem; color: var(--rio); word-break: break-all; }
@media (max-width: 520px) { .ent-item { grid-template-columns: 44px minmax(0,1fr); } .ent-item > :last-child { grid-column: 2; justify-self: start; } .ent-sigla { width: 44px; height: 44px; font-size: .9rem; } }

/* Notícias e agenda */
.duas-col { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--e-7); }
@media (max-width: 900px) { .duas-col { grid-template-columns: 1fr; } }
.noticias { display: grid; gap: var(--e-5); }
.noticia { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: var(--e-4); padding-bottom: var(--e-5); border-bottom: 1px solid var(--linha); }
.noticia:last-child { border-bottom: 0; }
.noticia__arte { aspect-ratio: 1; border-radius: var(--raio); max-width: 100%; }
.noticia h4 { font-family: var(--f-texto); font-size: 1.05rem; font-weight: 700; line-height: 1.3; margin-block: .25rem; }
.noticia p { font-size: var(--t-sm); color: var(--tinta-2); }
.noticia time { font-size: var(--t-xs); color: var(--tinta-2); }
.agenda { display: grid; gap: .6rem; }
.evento { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: var(--e-4); align-items: center; padding: .75rem; border-radius: var(--raio-g); background: var(--papel); border: 1px solid var(--linha); }
.evento__data { text-align: center; border-right: 1px solid var(--linha); padding-right: .6rem; }
.evento__data b { font: 900 2rem/1 var(--f-titulo); display: block; font-variant-numeric: tabular-nums; }
.evento__data span { font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .1em; color: var(--urucum); font-weight: 700; }
.evento h4 { font-family: var(--f-texto); font-size: .98rem; font-weight: 700; line-height: 1.3; }
.evento p { font-size: var(--t-xs); color: var(--tinta-2); }
@media (max-width: 440px) { .noticia { grid-template-columns: 72px minmax(0,1fr); } }

/* Orientação para fundar */
.trilha { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0; counter-reset: passo; }
.trilha li { list-style: none; padding: var(--e-5) var(--e-5) var(--e-5) 0; border-top: 3px solid var(--linha); position: relative; counter-increment: passo; }
.trilha li::before { content: counter(passo, decimal-leading-zero); font: 900 2.6rem/1 var(--f-titulo); color: var(--sol); display: block; margin-bottom: .4rem; }
.trilha li:nth-child(even)::before { color: var(--rio); }
.trilha h4 { font-family: var(--f-texto); font-size: 1rem; font-weight: 700; margin-bottom: .3rem; }
.trilha p { font-size: var(--t-sm); color: var(--tinta-2); }
.trilha { padding: 0; margin: 0 0 var(--e-5); }
@media (max-width: 860px) { .trilha { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 480px) { .trilha { grid-template-columns: 1fr; } }

/* Serviços e planos */
.servicos { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--e-5); margin-bottom: var(--e-7); }
.servico { display: grid; gap: .5rem; align-content: start; }
.servico svg { width: 40px; height: 40px; color: var(--rio); }
.servico:nth-child(even) svg { color: var(--urucum); }
.servico h4 { font-family: var(--f-texto); font-size: 1.05rem; font-weight: 700; }
.servico p { font-size: var(--t-sm); color: var(--tinta-2); }
@media (max-width: 860px) { .servicos { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 520px) { .servicos { grid-template-columns: 1fr; } }
.planos { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--e-5); align-items: start; }
.plano { display: grid; gap: var(--e-4); }
.plano--destaque { border: 2px solid var(--rio); position: relative; }
.plano--destaque::before { content: "Mais escolhido"; position: absolute; top: -12px; left: var(--e-5); background: var(--rio); color: var(--sobre-rio); font-size: var(--t-xs); font-weight: 700; padding: .15rem .6rem; border-radius: 99px; }
.plano h4 { font-size: 1.7rem; text-transform: uppercase; }
.plano__preco { font: 900 2.6rem/1 var(--f-titulo); font-variant-numeric: tabular-nums; }
.plano__preco small { font: 500 var(--t-sm) var(--f-texto); color: var(--tinta-2); }
.plano ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .45rem; font-size: var(--t-sm); }
.plano li { padding-left: 1.4rem; position: relative; }
.plano li::before { content: ""; position: absolute; left: 0; top: .45rem; width: 9px; height: 9px; background: var(--sol); transform: rotate(45deg); }
.nota-planos { margin-top: var(--e-4); font-size: var(--t-xs); color: var(--tinta-2); }
@media (max-width: 900px) { .planos { grid-template-columns: 1fr; } }

/* Contato */
.contato-grade { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: var(--e-7); }
.contato-grade aside { display: grid; gap: var(--e-4); align-content: start; }
@media (max-width: 860px) { .contato-grade { grid-template-columns: 1fr; } }

/* ---------- DIRETÓRIO ---------- */
.filtros { display: grid; grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); gap: var(--e-3); margin-bottom: var(--e-5); align-items: start; }
/* versão 33.4: filtros com muitos campos (Empregos e negócios) ficam numa grade só, todos do mesmo tamanho */
.filtros--muitos { grid-template-columns: repeat(auto-fill, minmax(min(190px, 100%), 1fr)); }
@media (max-width: 720px) { .filtros { grid-template-columns: 1fr; } }
.resultado-cab { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: var(--e-4); font-size: var(--t-sm); color: var(--tinta-2); }
.grade-ent { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--e-4); }
@media (max-width: 760px) { .grade-ent { grid-template-columns: 1fr; } }
.vazio { padding: var(--e-7) var(--e-5); text-align: center; border: 1px dashed var(--linha); border-radius: var(--raio-g); color: var(--tinta-2); }

/* ---------- BIBLIOTECA ---------- */
.bib { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: var(--e-6); align-items: start; }
.bib__lado { position: sticky; top: calc(84px + env(safe-area-inset-top, 0px)); display: grid; gap: .2rem; }
.bib__cat { display: flex; justify-content: space-between; gap: .5rem; padding: .55rem .7rem; border-radius: var(--raio); border: 0; background: none; text-align: left; font-size: var(--t-sm); font-weight: 600; color: var(--tinta-2); cursor: pointer; width: 100%; }
.bib__cat span:last-child { font-family: var(--f-mono); font-size: .75rem; }
.bib__cat[aria-pressed="true"] { background: var(--tinta); color: var(--chao); }
.bib__cat:hover:not([aria-pressed="true"]) { background: var(--papel-2); color: var(--tinta); }
.bib__barra { display: flex; gap: var(--e-3); flex-wrap: wrap; margin-bottom: var(--e-4); }
.bib__barra .entrada { flex: 1 1 260px; }
.modelos { display: grid; gap: .5rem; }
.modelo { display: grid; grid-template-columns: 62px minmax(0,1fr) auto; gap: var(--e-4); align-items: center; padding: .85rem 1rem; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio-g); }
.modelo__cod { font: 500 .9rem/1 var(--f-mono); color: var(--urucum); background: var(--papel-2); border-radius: var(--raio); padding: .55rem .4rem; text-align: center; }
.modelo h4 { font-family: var(--f-texto); font-size: .98rem; font-weight: 700; line-height: 1.3; }
.modelo p { font-size: var(--t-xs); color: var(--tinta-2); }
.modelo__meta { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .35rem; }
.modelo__acoes { display: flex; gap: .35rem; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 900px) { .bib { grid-template-columns: 1fr; } .bib__lado { position: static; display: flex; overflow-x: auto; gap: .3rem; padding-bottom: .4rem; } .bib__cat { flex: none; width: auto; } }
@media (max-width: 600px) { .modelo { grid-template-columns: 52px minmax(0,1fr); } .modelo__acoes { grid-column: 1 / -1; justify-content: flex-start; } }
.folha { background: #FFFEF9; color: #1D1D1B; border: 1px solid var(--linha); border-radius: var(--raio); padding: clamp(1rem, 4vw, 2.5rem); font: 400 .95rem/1.7 Georgia, "Times New Roman", serif; max-height: 52vh; overflow: auto; }
.folha h5 { font: 700 1.05rem/1.3 Georgia, serif; text-align: center; text-transform: uppercase; margin: 0 0 1rem; }
.folha p { margin: 0 0 .8rem; text-align: justify; }
.folha mark { background: #FBE7B5; color: #1D1D1B; padding: 0 .2rem; border-radius: 2px; font-family: var(--f-mono); font-size: .82em; }
.ficha-tec { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: .35rem 1rem; font-size: var(--t-sm); }
.ficha-tec dt { color: var(--tinta-2); font-weight: 600; }
.ficha-tec dd { margin: 0; }
@media (max-width: 520px) { .ficha-tec { grid-template-columns: 1fr; } .ficha-tec dd { margin-bottom: .4rem; } }
.alerta-juridico { display: flex; gap: .7rem; align-items: flex-start; padding: .8rem 1rem; border-radius: var(--raio); background: color-mix(in srgb, var(--alerta) 12%, var(--papel)); border: 1px solid color-mix(in srgb, var(--alerta) 40%, transparent); font-size: var(--t-sm); }
.alerta-juridico svg { flex: none; color: var(--alerta); margin-top: 2px; }

/* ---------- ASSISTENTE DE FUNDAÇÃO ---------- */
.assistente { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: var(--e-6); align-items: start; }
.passos { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; position: sticky; top: calc(84px + env(safe-area-inset-top, 0px)); }
.passos li button { width: 100%; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: .7rem; align-items: center; padding: .5rem .3rem; border: 0; background: none; text-align: left; cursor: pointer; color: var(--tinta-2); font-size: var(--t-sm); font-weight: 600; }
.passos li button .bola { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; border: 2px solid var(--linha); font: 700 .78rem/1 var(--f-mono); background: var(--papel); }
.passos li.feito .bola { background: var(--rio); border-color: var(--rio); color: var(--sobre-rio); }
.passos li.atual button { color: var(--tinta); }
.passos li.atual .bola { border-color: var(--sol); background: var(--sol); color: var(--sobre-sol); }
.passos li + li button { position: relative; }
.painel-passo { display: grid; gap: var(--e-5); }
.painel-passo h2 { font-size: clamp(1.8rem, 3.6vw, 2.5rem); }
.opcoes { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--e-3); }
.opcao { display: grid; gap: .3rem; text-align: left; padding: var(--e-4); border-radius: var(--raio-g); border: 2px solid var(--linha); background: var(--papel); cursor: pointer; font: inherit; color: inherit; }
.opcao b { font-size: 1rem; }
.opcao span { font-size: var(--t-sm); color: var(--tinta-2); }
.opcao[aria-pressed="true"] { border-color: var(--rio); background: var(--rio-claro); }
.req { display: grid; gap: .6rem; }
.req__grupo { border: 1px solid var(--linha); border-radius: var(--raio-g); overflow: hidden; background: var(--papel); }
.req__grupo h4 { font-family: var(--f-texto); font-size: var(--t-sm); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: .7rem 1rem; display: flex; justify-content: space-between; gap: .5rem; flex-wrap: wrap; }
.req__grupo--nac h4 { background: var(--rio-claro); }
.req__grupo--loc h4 { background: var(--sol-claro); }
.req__grupo ul { margin: 0; padding: .6rem 1rem .9rem 2rem; display: grid; gap: .45rem; font-size: var(--t-sm); }
.navpasso { display: flex; justify-content: space-between; gap: var(--e-3); flex-wrap: wrap; padding-top: var(--e-4); border-top: 1px solid var(--linha); }
.lista-fund { display: grid; gap: .4rem; }
.lista-fund div { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: .6rem; align-items: center; padding: .5rem .75rem; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--papel); font-size: var(--t-sm); }
.cargos { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .5rem; }
@media (max-width: 900px) { .assistente { grid-template-columns: 1fr; } .passos { position: static; grid-auto-flow: column; overflow-x: auto; grid-auto-columns: max-content; gap: .2rem; padding-bottom: .4rem; } .passos li button { grid-template-columns: 30px; } .passos li button .txt { display: none; } .passos li.atual button .txt { display: block; } .passos li.atual button { grid-template-columns: 30px auto; } }
@media (max-width: 560px) { .opcoes, .cargos { grid-template-columns: 1fr; } }

/* ---------- SITE DA ENTIDADE ---------- */
.ent-site { --e-cor: #0C6A5A; --e-cor2: #E09A12; --e-texto-cor: #FFFFFF; }
.ent-trocar { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; padding: .7rem var(--gutter); background: var(--papel-2); border-bottom: 1px solid var(--linha); font-size: var(--t-sm); }
.ent-trocar .mono { color: var(--rio); }
.ent-topo { background: var(--e-cor); color: var(--e-texto-cor); }
.ent-topo__in { max-width: var(--largura); margin-inline: auto; padding: .9rem var(--gutter); display: flex; align-items: center; gap: var(--e-4); flex-wrap: wrap; }
.ent-topo nav { margin-left: auto; display: flex; gap: .2rem; flex-wrap: wrap; }
.ent-topo nav a { color: inherit; text-decoration: none; font-size: var(--t-sm); font-weight: 600; padding: .4rem .6rem; opacity: .9; }
.ent-topo nav a:hover { opacity: 1; text-decoration: underline; color: inherit; }
.ent-heroi { background: var(--e-cor); color: var(--e-texto-cor); padding-block: var(--e-7) var(--e-8); position: relative; }
.ent-heroi h1 { font-size: clamp(2.3rem, 6vw, 4.2rem); max-width: 16ch; }
.ent-heroi p { max-width: 56ch; opacity: .92; font-size: 1.1rem; margin-top: var(--e-4); }
.ent-heroi .btn { margin-top: var(--e-5); background: var(--e-cor2); border-color: var(--e-cor2); color: #1C1408; }
.ent-heroi .linha-acoes .btn--vazado { background: transparent; color: var(--e-texto-cor); border-color: currentColor; }
.ent-faixa { height: 14px; background: repeating-linear-gradient(90deg, var(--e-cor2) 0 26px, var(--e-cor) 26px 32px, var(--urucum) 32px 44px, var(--e-cor) 44px 50px); }
.ent-grade { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--e-5); }
@media (max-width: 860px) { .ent-grade { grid-template-columns: 1fr; } }
.diretoria { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--e-4); }
.membro { display: grid; justify-items: center; text-align: center; gap: .3rem; }
.membro .ava { width: 76px; height: 76px; border-radius: 50%; display: grid; place-items: center; font: 900 1.4rem/1 var(--f-titulo); background: var(--papel-2); color: var(--tinta); border: 3px solid var(--e-cor2); }
.membro b { font-size: var(--t-sm); }
.membro span { font-size: var(--t-xs); color: var(--tinta-2); }
@media (max-width: 640px) { .diretoria { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.galeria { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .5rem; }
.galeria div { aspect-ratio: 4/3; border-radius: var(--raio); max-width: 100%; }
@media (max-width: 640px) { .galeria { grid-template-columns: repeat(2, minmax(0,1fr)); } }

/* ---------- PAINEL ---------- */
.painel { display: grid; grid-template-columns: 250px minmax(0,1fr); min-height: calc(100vh - 64px); }
.painel__lado { background: var(--papel); border-right: 1px solid var(--linha); padding: var(--e-4); display: grid; align-content: start; gap: var(--e-4); }
.painel__ent { display: grid; gap: .4rem; padding-bottom: var(--e-4); border-bottom: 1px solid var(--linha); }
.painel__nav { display: grid; gap: .1rem; }
.painel__nav button { display: flex; align-items: center; gap: .65rem; padding: .6rem .7rem; border-radius: var(--raio); border: 0; background: none; color: var(--tinta-2); font-weight: 600; font-size: var(--t-sm); text-align: left; cursor: pointer; }
.painel__nav button svg { width: 18px; height: 18px; flex: none; }
.painel__nav button[aria-current="true"] { background: var(--rio-claro); color: var(--tinta); }
.painel__nav button:hover:not([aria-current="true"]) { background: var(--papel-2); color: var(--tinta); }
.painel__nav .grupo { font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; color: var(--tinta-2); padding: .8rem .7rem .3rem; font-weight: 700; }
.painel__main { padding: var(--e-6) var(--gutter) var(--e-8); min-width: 0; display: grid; gap: var(--e-5); align-content: start; position: relative; }
.painel__cab { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--e-4); flex-wrap: wrap; }
.painel__cab h2 { font-size: clamp(1.8rem, 3.4vw, 2.4rem); }
.indicadores { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--e-4); }
.indicador { display: grid; gap: .3rem; }
.indicador span { font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .1em; color: var(--tinta-2); font-weight: 700; }
.indicador strong { font: 900 2.2rem/1 var(--f-titulo); font-variant-numeric: tabular-nums; }
/* versão 22: no celular, rótulo longo ("Associações") quebra em vez de empurrar a página para o lado */
.indicador { min-width: 0; }
.indicador span { overflow-wrap: anywhere; }
@media (max-width: 420px) { .indicador span { letter-spacing: .04em; } .indicador strong { font-size: 1.8rem; } }
.indicador small { font-size: var(--t-xs); color: var(--tinta-2); }
.grade-painel { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); gap: var(--e-4); }
.grafico svg { width: 100%; height: auto; display: block; }
.grafico text { fill: var(--tinta-2); font: 500 11px var(--f-texto); }
.lista-simples { display: grid; gap: 0; }
.lista-simples > div { display: flex; justify-content: space-between; gap: .8rem; align-items: center; padding: .65rem 0; border-bottom: 1px solid var(--linha); font-size: var(--t-sm); }
.lista-simples > div:last-child { border-bottom: 0; }
.modulos-grade { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--e-3); }
.modulo-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .5rem; align-items: start; }
.modulo-card h4 { font-family: var(--f-texto); font-size: .95rem; font-weight: 700; }
.modulo-card p { font-size: var(--t-xs); color: var(--tinta-2); grid-column: 1 / -1; }
.chave { position: relative; width: 44px; height: 26px; border-radius: 99px; background: var(--linha); border: 0; cursor: pointer; flex: none; }
.chave::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--papel); transition: transform .15s; box-shadow: 0 1px 2px rgba(0,0,0,.25); }
.chave[aria-checked="true"] { background: var(--rio); }
.chave[aria-checked="true"]::after { transform: translateX(18px); }
.matriz td, .matriz th { text-align: center; }
.matriz td:first-child, .matriz th:first-child { text-align: left; }
.sim { color: var(--ok); font-weight: 700; }
.nao { color: var(--tinta-2); opacity: .5; }
.cpf-oculto { font-family: var(--f-mono); font-size: .85em; }
@media (max-width: 1100px) { .indicadores { grid-template-columns: repeat(2, minmax(0,1fr)); } .modulos-grade { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 900px) { .painel { grid-template-columns: 1fr; } .painel__lado { border-right: 0; border-bottom: 1px solid var(--linha); } .painel__nav { grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; } .painel__nav .grupo { display: none; } .grade-painel { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .modulos-grade { grid-template-columns: 1fr; } .indicador strong { font-size: 1.8rem; } }

/* ---------- ENTRAR ---------- */
.entrar { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); min-height: calc(100vh - 64px); }
.entrar__arte { background: var(--acai); color: #F6EEF3; padding: var(--e-7) var(--gutter); display: grid; align-content: space-between; gap: var(--e-6); position: relative; overflow: hidden; }
.entrar__arte h2 { font-size: clamp(2.2rem, 4.5vw, 3.4rem); max-width: 12ch; }
.entrar__arte p { max-width: 42ch; opacity: .85; }
.entrar__form { padding: var(--e-7) var(--gutter); display: grid; align-content: center; }
.entrar__form form { width: min(420px, 100%); display: grid; gap: var(--e-4); margin-inline: auto; }
.ambiente { display: flex; align-items: center; gap: .5rem; padding: .6rem .8rem; border-radius: var(--raio); background: var(--papel-2); font-size: var(--t-sm); flex-wrap: wrap; }
@media (max-width: 860px) { .entrar { grid-template-columns: 1fr; } .entrar__arte { min-height: 260px; } }
/* etapa 11: entrada ligada ao servidor (mensagem, conectado, primeira senha) */
.entrar [hidden] { display: none !important; }
.entrar__msg { margin: 0; padding: .6rem .8rem; border-radius: var(--raio); font-size: var(--t-sm); color: var(--erro); background: color-mix(in srgb, var(--erro) 11%, transparent); }
.entrar__msg--ok { color: var(--ok); background: color-mix(in srgb, var(--ok) 12%, transparent); }
.entrar__conectado, .entrar__troca { width: min(420px, 100%); display: grid; gap: var(--e-4); margin-inline: auto; }
.entrar__conectado h3, .entrar__troca h3 { font-size: 1.8rem; overflow-wrap: anywhere; }
.entrar__dados { display: grid; grid-template-columns: max-content minmax(0,1fr); gap: .35rem .9rem; font-size: var(--t-sm); margin: 0; }
.entrar__dados dt { font-weight: 700; color: var(--tinta-2); }
.entrar__dados dd { margin: 0; overflow-wrap: anywhere; }
.entrar__troca ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .15rem; }
.abertura__texto > p.exemplo { font-size: var(--t-xs); color: var(--urucum); }
.bib__col { min-width: 0; }
.bib__col .bib__lado { position: static; }
.texto-pronto { border: 1px solid var(--linha); border-radius: var(--raio); background: var(--papel); padding: .6rem .8rem; }
.texto-pronto summary { cursor: pointer; font-size: var(--t-sm); }
.texto-pronto__corpo { font-size: var(--t-sm); background: var(--papel-2); border-radius: var(--raio); padding: .7rem; margin: .6rem 0; line-height: 1.6; }
.modelo .mono { overflow-wrap: anywhere; }

/* ---------- Rede nacional (versão 19) ---------- */
.campo-cidade { position: relative; }
.sugestoes { position: absolute; z-index: 20; top: 100%; left: 0; right: 0; margin-top: 2px; display: grid; max-height: 260px; overflow-y: auto; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio-g, 8px); box-shadow: 0 8px 24px rgb(0 0 0 / .14); }
.sugestoes button { text-align: left; border: 0; background: none; padding: .55rem .75rem; font: inherit; color: inherit; cursor: pointer; border-bottom: 1px solid var(--linha); }
.sugestoes button:hover, .sugestoes button:focus-visible { background: var(--papel-2); }
/* versão 32: escolher a cidade na lista do IBGE (estado → cidade) */
.link-cidade-lista { border: 0; background: none; padding: .25rem 0 0; color: var(--acento, inherit); text-decoration: underline; cursor: pointer; font: inherit; font-size: var(--t-xs, .8rem); justify-self: start; text-align: left; }
.cidade-lista { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: .4rem; margin-top: .35rem; }
.cidade-lista[hidden] { display: none; }
.cidade-lista select { width: 100%; }
.rede-busca { margin-top: var(--e-4); }
.rede-linha { display: flex; justify-content: space-between; align-items: center; gap: .6rem; padding: .6rem .8rem; text-align: left; width: 100%; font: inherit; color: inherit; cursor: pointer; flex-wrap: wrap; }
a.rede-linha { text-decoration: none; }
.rede-links { display: grid; gap: .25rem; margin: .3rem 0 .6rem; }
.rede-links a { overflow-wrap: anywhere; }
.rede-item { margin-bottom: .6rem; }
#rd-painel .ent-sigla, .mapa-lista a.ent-item .ent-sigla { background: var(--urucum); }
.barra-progresso { height: 8px; border-radius: 99px; background: var(--papel-2); overflow: hidden; margin-top: .3rem; }
.barra-progresso i { display: block; height: 100%; background: var(--ok); }
@media (max-width: 760px) { #rd-painel .indicadores, #rc-raiz .indicadores { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } #rd-painel .indicador strong { font-size: 1.6rem; } }
.rede-foto { width: 56px; height: 56px; border-radius: 50%; flex: none; display: grid; place-items: center; overflow: hidden; background: var(--rio); color: var(--sobre-rio); font: 900 1.4rem/1 var(--f-titulo); }
.rede-foto img { width: 100%; height: 100%; object-fit: cover; }
.rede-recado-caixa { margin: -.2rem 0 .4rem; }
/* versão 33.4: chamada de "Empregos e negócios" com destaque e animação (pulso de luz, brilho passando e a seta indo e vindo).
   Quem pediu ao aparelho menos movimento vê a chamada destacada, mas parada. */
.cta-pulsa { position: relative; display: flex; align-items: center; gap: .8rem; margin-top: .8rem; padding: .85rem 1rem; border-radius: var(--raio-g, 10px);
  background: var(--sol); color: #1d140b; text-decoration: none; overflow: hidden; isolation: isolate;
  box-shadow: 0 0 0 0 rgb(224 154 18 / .55); animation: cta-pulso 1.8s ease-out infinite; }
.cta-pulsa::after { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(110deg, transparent 30%, rgb(255 255 255 / .55) 50%, transparent 70%); transform: translateX(-120%); animation: cta-brilho 2.6s ease-in-out infinite; }
a.cta-pulsa, a.cta-pulsa:visited, a.cta-pulsa b, a.cta-pulsa small, a.cta-pulsa span { color: #1d140b !important; text-decoration: none !important; }
.cta-pulsa__icone { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgb(255 255 255 / .55); }
.cta-pulsa__texto { display: grid; gap: .1rem; flex: 1; min-width: 0; }
.cta-pulsa__texto b { font-size: 1.05rem; }
.cta-pulsa__texto small { font-size: var(--t-xs, .8rem); opacity: .85; }
.cta-pulsa__seta { flex: none; font-size: 1.4rem; font-weight: 700; animation: cta-seta 1.2s ease-in-out infinite; }
.cta-pulsa:hover, .cta-pulsa:focus-visible { filter: brightness(1.05); outline: 3px solid var(--tinta); outline-offset: 2px; }
@keyframes cta-pulso { 0% { box-shadow: 0 0 0 0 rgb(224 154 18 / .6); } 70% { box-shadow: 0 0 0 14px rgb(224 154 18 / 0); } 100% { box-shadow: 0 0 0 0 rgb(224 154 18 / 0); } }
@keyframes cta-brilho { 0%, 55% { transform: translateX(-120%); } 100% { transform: translateX(120%); } }
@keyframes cta-seta { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(6px); } }
@media (prefers-reduced-motion: reduce) { .cta-pulsa, .cta-pulsa::after, .cta-pulsa__seta { animation: none; } }
/* versão 33.4: título com a chamada "Anuncie de graça" ao lado (vai para baixo no celular) */
.cab-com-cta { display: flex; align-items: center; justify-content: space-between; gap: .8rem 1.2rem; flex-wrap: wrap; }
.cab-com-cta h2 { margin: 0; }
.cta-pulsa--pequena { margin-top: 0; padding: .55rem .9rem; gap: .6rem; flex: none; }
.cta-pulsa--pequena .cta-pulsa__texto b { font-size: .98rem; }

/* versão 34: vagas da Rede de Talentos (ACIC) */
.acic-numeros { display: grid; gap: var(--e-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); margin: var(--e-4) 0; }
.acic-numero { display: flex; flex-direction: column; gap: .2rem; }
.acic-numero b { font-size: var(--t-xl, 1.6rem); line-height: 1.1; }
.vaga-acic h4 a { color: inherit; text-decoration: none; }
.vaga-acic h4 a:hover { text-decoration: underline; }
.acic-credito { margin-top: var(--e-4); }
.acic-encerrada { border-left: 4px solid var(--c-alerta, #c77700); margin-bottom: var(--e-4); }
.acic-fonte { margin-top: var(--e-4); }

/* versão 46.2: página de cada vaga (/vagas/<vaga>) com o topo e o rodapé do portal */
.vaga-pagina__trilha { font-size: var(--t-sm); margin-bottom: 1rem; color: var(--tinta-2); }
.vaga-pagina__cab h1 { font-size: clamp(1.8rem, 5vw, 2.8rem); margin: .5rem 0 .3rem; }
.vaga-pagina__texto { max-width: 860px; }
.vaga-pagina__lista { margin-top: 1rem; padding-left: 1.1rem; display: grid; gap: .3rem; }
.vaga-pagina a.cartao.vaga { color: inherit; text-decoration: none; }
.vaga-pagina a.cartao.vaga:hover h4 { color: var(--rio); }
.vaga-pagina__cab .selo { align-self: flex-start; }
.vaga-pagina__texto + .linha-acoes { margin-top: 1.2rem; }

/* versão 48.1: texto fixo do index (para os robôs; as telas entram no lugar) e páginas fixas (/sobre, /contato, /perguntas, /privacidade) */
.conteudo-fixo h1 { font-size: clamp(2rem, 6vw, 3.4rem); margin-bottom: 1rem; }
.conteudo-fixo h2 { margin-top: 1.6rem; }
.conteudo-fixo ul, .conteudo-fixo ol, .pagina-fixa__lista { margin-top: .6rem; padding-left: 1.2rem; display: grid; gap: .45rem; }
.pagina-fixa__secao h1 { font-size: clamp(2rem, 6vw, 3.2rem); }
.pagina-fixa__contatos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 1rem; }
.pagina-fixa__contatos h2 { font-size: 1.3rem; margin-bottom: .5rem; }
.pagina-fixa__perguntas { display: grid; gap: .7rem; }
.pagina-fixa__perguntas summary { cursor: pointer; list-style: none; }
.pagina-fixa__perguntas summary::-webkit-details-marker { display: none; }
.pagina-fixa__perguntas summary h2 { display: inline; font-family: var(--f-texto); font-size: 1.05rem; font-weight: 700; text-transform: none; letter-spacing: 0; }
.pagina-fixa__perguntas summary::after { content: "+"; float: right; font-weight: 700; color: var(--rio); }
.pagina-fixa__perguntas details[open] summary::after { content: "–"; }
.pagina-fixa__perguntas details p { margin-top: .6rem; }
.pagina-fixa__texto h2 { font-size: 1.25rem; margin-top: 1.2rem; }
.pagina-fixa__texto h2:first-child { margin-top: 0; }
.rodape__legal { font-size: var(--t-xs); margin-top: .4rem; }   /* versão 48.3: identificação legal do responsável pelo portal */
/* versão 49.1: "Cadastre-se em 1 minuto" na abertura do portal */
.cadastro-1min { display: flex; flex-direction: column; align-items: flex-start; gap: .15rem; margin-top: var(--e-4, 1rem); padding: 1rem 1.3rem;
  font-size: 1.2rem; width: fit-content; max-width: 100%; animation: cta-pulso 2.2s ease-out infinite; }
.cadastro-1min span { font-size: var(--t-sm); font-weight: 600; opacity: .85; }
@media (prefers-reduced-motion: reduce) { .cadastro-1min { animation: none; } }
/* versão 49.1 (William, 02/11/2026): o anel de letras do selo grande gira devagar, como um sol; para ao passar o dedo ou o mouse */
.abertura__selo .selo__anel { transform-origin: 50px 50px; animation: selo-gira 48s linear infinite; }
.abertura__selo:hover .selo__anel { animation-play-state: paused; }
@keyframes selo-gira { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .abertura__selo .selo__anel { animation: none; } }

/* versão 53.6: guia da cultura do Norte e do Nordeste (páginas para o Google: /cultura, /historias, /estudos-e-conhecimento) */
.cultura-pagina h2 { margin-top: 2rem; }
.cultura-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: 1rem; margin-top: 1rem; }
.cultura-cartao { display: block; text-decoration: none; color: inherit; }
.cultura-cartao h3 { margin: .2rem 0 .4rem; }
.cultura-cartao p { margin: 0 0 .4rem; font-size: var(--t-sm); }
.cultura-estados { display: flex; flex-wrap: wrap; gap: .5rem; }
.cultura-artigo { max-width: 46rem; }
.cultura-artigo p { line-height: 1.65; margin: 0 0 1rem; }
.cultura-destaque { font-size: 1.15em; font-weight: 600; }
.cultura-desenho { max-width: 32rem; margin: 1rem 0; }
.cultura-desenho svg { width: 100%; height: auto; display: block; border-radius: var(--raio-g); }
.cultura-linha { list-style: none; padding: 0; display: grid; gap: .8rem; }
.cultura-linha li { border-left: 4px solid var(--sol); padding-left: .8rem; }
.cultura-glossario { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.cultura-glossario dt { font-size: 1.3em; font-weight: 700; }
.cultura-glossario dd { margin: .3rem 0 0; }
.cultura-tabela { width: 100%; border-collapse: collapse; }
.cultura-tabela th, .cultura-tabela td { text-align: left; padding: .5rem; border-bottom: 1px solid var(--linha); }
.tabela-rolar { overflow-x: auto; }

/* versão 54.0: "Para quem é a Rede" na página inicial (de lá, família de lá, apaixonado pela cultura) */
.para-quem__grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.para-quem__item { display: grid; align-content: start; gap: .4rem; text-decoration: none; color: inherit; border-top: 5px solid var(--sol); }
.para-quem__item:nth-child(1) { border-top-color: var(--rio); }
.para-quem__item:nth-child(3) { border-top-color: var(--urucum, #B83C29); }
.para-quem__item h3 { margin: 0; }
.para-quem__item p { margin: 0; }
.para-quem__ir { font-weight: 700; color: var(--rio); margin-top: .3rem; }
.para-quem__item:hover .para-quem__ir { text-decoration: underline; }

/* versão 54.3: Empresas Parceiras (#parceiras) */
.parceiras-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: 1rem; }
.parceira { display: grid; align-content: start; gap: .5rem; }
.parceira h3 { margin: 0; }
.parceira__beneficios { list-style: none; padding: 0; margin: 0; display: grid; gap: .7rem; }
.parceira__regra { margin: .4rem 0 0; padding: .5rem .7rem; border-left: 4px solid var(--urucum, #B83C29); background: var(--papel-2); font-size: var(--t-sm); }
.etiqueta { display: inline-block; padding: .1rem .5rem; border-radius: 99px; font-size: var(--t-xs); font-weight: 700; color: #fff; background: var(--rio); }
.etiqueta--sol { background: var(--sol); color: #1E1608; }
.etiqueta--acai { background: var(--acai, #4A1D3D); }
.etiqueta--urucum { background: var(--urucum, #B83C29); }

/* versão 54.4: Campanhas (#campanhas) — Ativas e Já realizadas */
.campanhas-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: 1rem; margin-top: .8rem; }
.campanha { display: grid; align-content: start; gap: .45rem; border-top: 5px solid var(--sol); }
.campanha--feita { border-top-color: var(--rio); }
.campanha h3, .campanha p { margin: 0; }
.campanha__topo { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; font-size: var(--t-sm); }
.campanha__placar { display: grid; gap: .3rem; font-size: var(--t-sm); }
.campanha__barra { height: 12px; border-radius: 99px; background: var(--papel-2); overflow: hidden; }
.campanha__barra span { display: block; height: 100%; background: linear-gradient(90deg, var(--rio), var(--sol)); border-radius: 99px; }
.campanha__resultado { padding: .6rem .8rem; background: var(--papel-2); border-left: 4px solid var(--rio); font-size: var(--t-sm); }
.sorteio__premio { font-size: 1.05em; } .sorteio__regras summary { cursor: pointer; font-weight: 600; font-size: var(--t-sm); } .sorteio--feito { border-top: 5px solid var(--acai, #4A1D3D); } .sorteio { display: grid; align-content: start; gap: .45rem; border-top: 5px solid var(--urucum, #B83C29); } .sorteio h3, .sorteio p { margin: 0; }   /* versão 54.5: sorteios */
.sorteio.sorteio--feito { border-top-color: var(--acai, #4A1D3D); }
/* versão 55.7: cidade escolhida (✓) e atalhos de um toque */
.campo-cidade--ok input { border-color: var(--ok); }
.campo-cidade--ok > label::after { content: " ✓"; color: var(--ok); font-weight: 700; }
.sugestoes button { min-height: 44px; }
.atalhos-cidade { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .35rem; }
.chip-cidade { border: 1px solid var(--linha); background: var(--papel-2); color: inherit; border-radius: 999px; padding: .4rem .8rem; font: inherit; font-size: var(--t-sm, .9rem); cursor: pointer; min-height: 40px; }
.chip-cidade:hover, .chip-cidade:focus-visible { border-color: var(--acento, currentColor); }
/* versão 55.9: setores das associações e grupos (etiquetas que filtram) */
.etiquetas { display: flex; flex-wrap: wrap; gap: .35rem; margin: .5rem 0; }
.etiquetas a.etiqueta, .etiquetas .etiqueta--clara { background: var(--papel-2); color: var(--tinta); border: 1px solid var(--linha); font-size: var(--t-sm); font-weight: 600; padding: .25rem .7rem; text-decoration: none; }
.etiquetas a.etiqueta:hover { border-color: var(--rio); }
.etiquetas a.etiqueta--ativa { background: var(--rio); color: #fff; border-color: var(--rio); }


/* ===== assets/css/anuncios.css ===== */
/* Criado, desenvolvido, testado, abandonado, rejeitado, recuperado e testado fonte vozes da minha cabeça - William Tassi Moreira */
/* ACCTNN — Espaços de anúncio e criativos */
.espaco-anuncio { container-type: inline-size; position: relative; display: grid; gap: .3rem; max-width: 100%; }
.publicidade { font: 600 .66rem/1 var(--f-texto); text-transform: uppercase; letter-spacing: .14em; color: var(--tinta-2); }
.rodizio { display: grid; }
.rodizio__item { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility 0s linear .6s; min-width: 0; }
.rodizio__item.ativo { opacity: 1; visibility: visible; transition: opacity .6s ease; }
@media (prefers-reduced-motion: reduce) { .rodizio__item, .rodizio__item.ativo { transition: none; } }
.rodizio__pontos { display: flex; gap: .35rem; justify-content: center; }
.rodizio__pontos button { width: 22px; height: 6px; border-radius: 3px; border: 0; background: var(--linha); cursor: pointer; padding: 0; }
.rodizio__pontos button[aria-current="true"] { background: var(--urucum); }

/* Criativo gerado a partir do texto da campanha (quando o anunciante não manda imagem) */
.criativo { --c1: #0C6A5A; --c2: #E09A12; display: grid; align-content: center; gap: .25rem; text-decoration: none; color: #fff; background: var(--c1); border-radius: var(--raio); padding: .9rem 1.1rem; position: relative; overflow: hidden; min-width: 0; height: 100%; }
.criativo:hover { color: #fff; filter: brightness(1.06); }
.criativo::after { content: ""; position: absolute; right: -22px; bottom: -22px; width: 90px; height: 90px; border-radius: 50%; background: var(--c2); opacity: .9; }
.criativo > * { position: relative; z-index: 1; }
.criativo img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.criativo__marca { font: 600 .68rem/1.2 var(--f-texto); text-transform: uppercase; letter-spacing: .1em; opacity: .85; }
.criativo__titulo { font: 900 1.45rem/1.02 var(--f-titulo); text-transform: uppercase; }
.criativo__texto { font-size: .86rem; line-height: 1.4; opacity: .92; max-width: 46ch; }
.criativo__botao { justify-self: start; margin-top: .3rem; background: var(--c2); color: #1C1408; font-weight: 700; font-size: .78rem; padding: .35rem .7rem; border-radius: 4px; }
.criativo--casa { background: var(--papel); color: var(--tinta); border: 2px dashed var(--linha); }
.criativo--casa:hover { color: var(--tinta); border-color: var(--urucum); }
.criativo--casa::after { background: var(--sol-claro); }
.criativo--casa .criativo__botao { background: var(--sol); }

/* Formatos */
.espaco-anuncio--faixa { width: 100%; max-width: 970px; margin-inline: auto; }
.criativo--faixa { min-height: 90px; grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 1.2rem; align-items: center; padding-right: 5rem; }
.criativo--faixa .criativo__marca { grid-column: 1 / -1; }
.criativo--faixa .criativo__titulo { font-size: 1.35rem; }
.criativo--faixa .criativo__texto { grid-column: 2; }
.criativo--faixa .criativo__botao { grid-column: 3; grid-row: 2; margin: 0; }
.criativo--faixa .criativo__titulo { grid-column: 1; grid-row: 2; max-width: 22ch; }
@container (max-width: 700px) {
  .criativo--faixa { min-height: 100px; grid-template-columns: 1fr; padding-right: 3.5rem; }
  .criativo--faixa .criativo__texto { display: none; }
  .criativo--faixa .criativo__titulo, .criativo--faixa .criativo__botao { grid-column: 1; grid-row: auto; }
  .criativo--faixa .criativo__titulo { font-size: 1.15rem; }
}
@media (max-width: 700px) {
  .criativo--faixa { min-height: 100px; grid-template-columns: 1fr; padding-right: 3.5rem; }
  .criativo--faixa .criativo__texto { display: none; }
  .criativo--faixa .criativo__titulo, .criativo--faixa .criativo__botao { grid-column: 1; grid-row: auto; }
  .criativo--faixa .criativo__titulo { font-size: 1.15rem; }
}
.espaco-anuncio--retangulo { width: 100%; max-width: 336px; }
.criativo--retangulo { aspect-ratio: 300 / 250; align-content: end; padding: 1.1rem; max-width: 100%; }
.criativo--retangulo .criativo__marca { position: absolute; top: 1rem; left: 1.1rem; }
.criativo--retangulo::after { width: 150px; height: 150px; right: -40px; top: -40px; bottom: auto; }
.espaco-anuncio--lateral { width: 100%; max-width: 300px; }
.criativo--lateral { aspect-ratio: 300 / 600; align-content: end; padding: 1.3rem; max-width: 100%; }
.criativo--lateral .criativo__titulo { font-size: 2rem; }
.criativo--lateral .criativo__marca { position: absolute; top: 1.2rem; left: 1.3rem; right: 1.3rem; }
.criativo--lateral::after { width: 220px; height: 220px; right: -60px; top: 70px; bottom: auto; }
@media (max-width: 900px) { .espaco-anuncio--lateral { display: none; } }
.espaco-anuncio--rodape { width: 100%; max-width: 728px; margin-inline: auto; }
.criativo--rodape { min-height: 72px; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1rem; align-items: center; padding: .6rem 4.5rem .6rem 1rem; }
.criativo--rodape .criativo__marca { grid-column: 1 / -1; }
.criativo--rodape .criativo__titulo { font-size: 1.05rem; }
.criativo--rodape .criativo__botao { margin: 0; }
.criativo--rodape::after { width: 60px; height: 60px; right: -14px; bottom: -14px; }
@media (max-width: 520px) { .criativo--rodape { min-height: 50px; } .criativo--rodape .criativo__marca { display: none; } }
/* Card patrocinado: mesmo desenho dos cards do diretório */
.criativo--destaque { background: var(--papel); color: var(--tinta); border: 1px solid var(--linha); border-radius: var(--raio-g); padding: var(--e-5); align-content: start; gap: .5rem; box-shadow: inset 0 4px 0 var(--c1); }
.criativo--destaque:hover { color: var(--tinta); border-color: var(--c1); filter: none; }
.criativo--destaque::after { width: 56px; height: 56px; right: 1rem; top: 1rem; bottom: auto; background: var(--c1); }
.criativo--destaque .criativo__marca { color: var(--c1); opacity: 1; padding-right: 4rem; }
.criativo--destaque .criativo__titulo { font: 700 1.05rem/1.3 var(--f-texto); text-transform: none; padding-right: 4rem; }
.criativo--destaque .criativo__texto { color: var(--tinta-2); }
.criativo--destaque .criativo__botao { background: var(--c1); color: #fff; }

/* Posicionamento nas telas */
.faixa-anuncio { padding-block: var(--e-5); }
.rodape-anuncio { padding-block: var(--e-5) 0; }

/* ---------- Página ANUNCIE ---------- */
.niveis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--e-4); }
.nivel { display: grid; gap: .6rem; align-content: start; }
.nivel__alcance { display: flex; gap: 4px; flex-wrap: wrap; }
.nivel__alcance i { width: 14px; height: 14px; border-radius: 3px; background: var(--linha); }
.nivel__alcance i.on { background: var(--rio); }
.nivel h4 { font-size: 1.6rem; text-transform: uppercase; }
.nivel p { font-size: var(--t-sm); color: var(--tinta-2); }
@media (max-width: 860px) { .niveis { grid-template-columns: 1fr; } }
.formatos-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: var(--e-4); }
.formato-card { display: grid; gap: .5rem; align-content: start; }
.formato-card__molde { background: var(--papel-2); border-radius: var(--raio); display: grid; place-items: center; height: 120px; }
.formato-card__molde span { background: var(--rio); border-radius: 3px; display: block; opacity: .85; }
.formato-card h4 { font-family: var(--f-texto); font-size: 1rem; font-weight: 700; }
.formato-card p { font-size: var(--t-xs); color: var(--tinta-2); }
.rodizio-explica { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--e-6); align-items: center; }
.rodizio-explica ol { margin: 0; padding-left: 1.2rem; display: grid; gap: .5rem; }
@media (max-width: 860px) { .rodizio-explica { grid-template-columns: 1fr; } }
.simulador { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: var(--e-6); align-items: start; }
.simulador__previa { display: grid; gap: var(--e-4); justify-items: center; background: var(--papel-2); border-radius: var(--raio-g); padding: var(--e-5); min-width: 0; }
.simulador__onde { width: 100%; font-size: var(--t-sm); }
@media (max-width: 860px) { .simulador { grid-template-columns: 1fr; } }
.espaco-anuncio--destaque { grid-template-rows: auto 1fr auto; }
.espaco-anuncio--destaque .rodizio, .espaco-anuncio--destaque .rodizio__item { height: 100%; }
/* Card: lugar da logomarca (iniciais quando o anunciante não enviou logo) */
.criativo--destaque::after { display: none; }
.criativo__logo { position: absolute !important; right: 1rem; top: 1rem; width: 56px; height: 56px; border-radius: 50%; background: var(--c1); color: #fff; display: grid; place-items: center; font: 900 1.2rem/1 var(--f-titulo); overflow: hidden; }
.criativo__logo img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Receitas da entidade ---------- */
.sem-anuncios .faixa-anuncio, .sem-anuncios .rodape-anuncio, .sem-anuncios [data-espaco], .sem-anuncios #apoiadores, .sem-anuncios .site-agenda__lateral { display: none !important; }
.sem-anuncios .site-agenda { grid-template-columns: 1fr; }
.patrocinador-oficial { background: var(--papel); border-bottom: 1px solid var(--linha); box-shadow: inset 4px 0 0 var(--p); }
.patrocinador-oficial .env { display: flex; align-items: center; gap: .7rem; padding-block: .55rem; }
.patrocinador-oficial__selo { width: 34px; height: 34px; border-radius: 50%; background: var(--p); color: #fff; display: grid; place-items: center; font: 900 .85rem/1 var(--f-titulo); flex: none; }
.patrocinador-oficial small { display: block; font-size: .66rem; text-transform: uppercase; letter-spacing: .12em; color: var(--tinta-2); }
.patrocinador-oficial b { font-size: var(--t-sm); }
.cotas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--e-4); }
.cota { border: 1px solid var(--linha); border-radius: var(--raio-g); background: var(--papel); padding: var(--e-4); display: grid; gap: .5rem; align-content: start; }
.cota__cab { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: .5rem; border-bottom: 3px solid var(--cota); }
.cota__cab b { font: 900 1.4rem/1 var(--f-titulo); text-transform: uppercase; }
.cota__cab span { font-variant-numeric: tabular-nums; font-weight: 700; color: var(--tinta-2); }
.cota--ouro { --cota: #C9A227; } .cota--prata { --cota: #9AA3A8; } .cota--bronze { --cota: #A0663A; }
.cota__empresa { padding: .55rem .7rem; border-radius: var(--raio); background: var(--papel-2); font-weight: 600; font-size: var(--t-sm); }
.cota__livre { padding: .55rem .7rem; border-radius: var(--raio); border: 2px dashed var(--linha); background: none; color: var(--tinta-2); font-size: var(--t-sm); font-weight: 600; cursor: pointer; text-align: left; }
.cota__livre:hover { border-color: var(--urucum); color: var(--urucum); }
@media (max-width: 760px) { .cotas { grid-template-columns: 1fr; } }
.clube { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--e-3); }
.clube__item { display: grid; gap: .2rem; padding: var(--e-4); background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio-g); }
.clube__cat { font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; color: var(--urucum); font-weight: 700; }
.clube__item b { font-size: 1rem; }
.clube__item span:last-child { font-size: var(--t-sm); color: var(--tinta-2); }
@media (max-width: 760px) { .clube { grid-template-columns: 1fr; } }
.classificados { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e-3); }
.classificado { display: grid; gap: .3rem; padding: var(--e-4); border-left: 4px solid var(--sol); background: var(--papel); border-radius: 0 var(--raio) var(--raio) 0; }
.classificado .selo { justify-self: start; }
.classificado__preco { font-weight: 700; color: var(--rio); }
@media (max-width: 760px) { .classificados { grid-template-columns: 1fr; } }
.barra-meta { height: 8px; border-radius: 4px; background: var(--papel-2); overflow: hidden; margin-top: .3rem; }
.barra-meta i { display: block; height: 100%; background: var(--rio); }
.arte-analise { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--e-5); align-items: start; }
.arte-analise__previa { background: var(--papel-2); border-radius: var(--raio); padding: var(--e-4); display: grid; justify-items: center; }
.arte-analise__dados { display: grid; gap: .5rem; align-content: start; }
.checagem { display: grid; gap: .35rem; padding: .6rem 0; }
@media (max-width: 900px) { .arte-analise { grid-template-columns: 1fr; } }

/* ---------- Anunciar (cadastro) ---------- */
.anunciar-grade { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--e-6); align-items: start; }
.anunciar-previa { display: grid; gap: var(--e-4); background: var(--papel-2); border-radius: var(--raio-g); padding: var(--e-5); min-width: 0; position: sticky; top: 90px; }
@media (max-width: 960px) { .anunciar-grade { grid-template-columns: 1fr; } .anunciar-previa { position: static; } }
.preco-caixa { display: grid; gap: .45rem; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio-g); padding: var(--e-4); }
.preco-caixa__linha { display: flex; justify-content: space-between; gap: 1rem; font-size: var(--t-sm); }
.preco-caixa__linha--desc { color: var(--ok); }
.preco-caixa__total { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid var(--linha); padding-top: .5rem; }
.preco-caixa__total strong { font: 900 2rem/1 var(--f-titulo); }
.preco-caixa__extras { margin: 0; padding-left: 1.1rem; display: grid; gap: .3rem; font-size: var(--t-xs); color: var(--tinta-2); }
.passos-depois { margin: 0; padding-left: 1.2rem; display: grid; gap: .3rem; font-size: var(--t-sm); }
.tabela-precos td, .tabela-precos th { text-align: right; }
.tabela-precos td:first-child, .tabela-precos th:first-child { text-align: left; }


/* ===== assets/css/ferramentas.css ===== */
/* Criado, desenvolvido, testado, abandonado, rejeitado, recuperado e testado fonte vozes da minha cabeça - William Tassi Moreira */
/* ACCTNN — Ferramentas herdadas do Sistema do Sindicato (painel e site público).
   Só usa os tokens de tokens.css: claro/escuro funcionam sozinhos. */

/* ---------- Comuns ---------- */
.secao-corpo { display: grid; gap: var(--e-4); min-width: 0; grid-template-columns: minmax(0, 1fr); }
.secao-corpo > * { min-width: 0; }
.regras ul { margin: .5rem 0 0 1.1rem; display: grid; gap: .3rem; font-size: var(--t-sm); color: var(--tinta-2); }
.regras > b { display: block; }
.faixa-convite { display: flex; gap: var(--e-4); align-items: center; justify-content: space-between; flex-wrap: wrap; margin-top: var(--e-4); border-left: 4px solid var(--sol); }
.faixa-convite > div { min-width: 0; flex: 1 1 260px; }
.barra-meta--alerta i { background: var(--urucum); }
.ava--g { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; font: 900 1.25rem/1 var(--f-titulo); background: var(--papel-2); color: var(--tinta); border: 3px solid var(--sol); flex: none; }

/* ---------- Família ---------- */
.familias { display: grid; gap: var(--e-4); }
.familia { display: grid; gap: var(--e-3); min-width: 0; }
.familia__cab { display: flex; gap: var(--e-3); align-items: center; min-width: 0; }
.familia__cab > div { min-width: 0; }

/* ---------- Vagas e currículo ---------- */
.vagas-lista, .cursos, .balcao-lista { display: grid; gap: var(--e-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.vaga, .curso, .balcao-lista > .cartao { display: grid; gap: .35rem; align-content: start; min-width: 0; }
.vaga h4, .curso h4, .balcao-lista h4 { font-size: 1.05rem; }
.vaga--destaque { border-color: var(--sol); box-shadow: inset 0 4px 0 var(--sol); }   /* versão 30: anúncio em destaque no balcão */
.vaga .linha-acoes, .curso .linha-acoes { margin-top: .4rem; }
.curso__cab { display: flex; gap: .5rem; justify-content: space-between; align-items: center; flex-wrap: wrap; }
.curriculo { display: grid; gap: var(--e-4); }
.curriculo__img { width: 72px; height: 72px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--papel-2); font: 900 1.3rem/1 var(--f-titulo); border: 2px solid var(--linha); flex: none; }
.curriculo__img img { width: 100%; height: 100%; object-fit: cover; }
.cv-exp { display: grid; grid-template-columns: 1.3fr 1fr .8fr auto; gap: .4rem; margin-bottom: .4rem; }
.cv-exp input { min-width: 0; }
@media (max-width: 640px) { .cv-exp { grid-template-columns: 1fr 1fr; } }
.cv-folha { background: #fff; color: #1b1b1b; padding: 1.4rem; border-radius: var(--raio); border: 1px solid var(--linha); display: grid; gap: .35rem; font-size: var(--t-sm); }
.cv-folha__cab { display: flex; gap: 1rem; align-items: center; border-bottom: 3px solid #0C6A5A; padding-bottom: .7rem; margin-bottom: .4rem; }
.cv-folha__cab img { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; }
.cv-folha h4 { font: 900 1.5rem/1 var(--f-titulo); text-transform: uppercase; }
.cv-folha h5 { font: 700 .78rem/1 var(--f-texto); text-transform: uppercase; letter-spacing: .08em; color: #0C6A5A; margin-top: .6rem; }
.cv-folha ul { margin-left: 1.1rem; }
.cv-folha li span { color: #666; }

/* ---------- Certificado ---------- */
.certificado { position: relative; background: #FFFDF6; color: #1E1608; border: 1px solid #E3D6B5; border-radius: var(--raio); padding: 2rem 1.6rem 1.4rem; display: grid; gap: .8rem; text-align: center; overflow: hidden; margin-top: .8rem; }
.certificado__faixa { position: absolute; inset: 0 0 auto 0; height: 10px; }
.certificado__tipo { font: 900 clamp(1.8rem, 6vw, 2.8rem)/1 var(--f-titulo); text-transform: uppercase; letter-spacing: .06em; color: #0C6A5A; }
.certificado p { max-width: 52ch; margin-inline: auto; }
.certificado__ent { font-size: var(--t-sm); color: #5B4B2A; }
.certificado__assin { display: flex; justify-content: space-around; gap: 1rem; margin-top: 1.2rem; font-size: var(--t-xs); }
.certificado__assin span { border-top: 1px solid #1E1608; padding-top: .3rem; min-width: 120px; }
.certificado__cod { display: flex; gap: .8rem; align-items: center; justify-content: center; text-align: left; font-size: var(--t-xs); border-top: 1px dashed #D8C9A2; padding-top: .8rem; }
.certificado__qr { width: 88px; height: 88px; flex: none; background: #fff; }
.certificado__qr img, .certificado__qr canvas { width: 88px !important; height: 88px !important; }

/* ---------- Presença ---------- */
.presenca-qr { display: grid; grid-template-columns: auto 1fr; gap: 1.2rem; align-items: center; margin-top: var(--e-4); }
.presenca-qr #pr-qr { background: #fff; padding: 10px; border-radius: var(--raio); width: 210px; height: 210px; display: grid; place-items: center; }
.presenca-qr > div { display: grid; gap: .6rem; }
@media (max-width: 560px) { .presenca-qr { grid-template-columns: 1fr; justify-items: center; } }
.presenca-lista { display: grid; gap: .4rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); margin: var(--e-4) 0 .6rem; }
.presenca-lista .check { padding: .55rem .7rem; }

/* ---------- WhatsApp (atendimento) ---------- */
.crm { display: grid; grid-template-columns: 260px 1fr; border: 1px solid var(--linha); border-radius: var(--raio-g); overflow: hidden; min-height: 420px; background: var(--papel); }
.crm__lista { border-right: 1px solid var(--linha); display: grid; align-content: start; overflow-y: auto; max-height: 520px; }
.crm__item { display: grid; grid-template-columns: 1fr auto; gap: .15rem .5rem; text-align: left; padding: .75rem .9rem; background: none; border: 0; border-bottom: 1px solid var(--linha); color: inherit; cursor: pointer; font: inherit; }
.crm__item b { font-size: var(--t-sm); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm__item .mudo { grid-column: 1 / -1; font-size: var(--t-xs); }
.crm__item[aria-current="true"] { background: var(--rio-claro); }
.crm__item:hover { background: var(--papel-2); }
.crm__badge { background: var(--ok); color: #fff; border-radius: 99px; font-size: .7rem; font-weight: 700; padding: 0 .45rem; line-height: 1.4rem; align-self: center; }
.crm__conversa { display: grid; grid-template-rows: auto 1fr auto; min-width: 0; }
.crm__cab { padding: .75rem 1rem; border-bottom: 1px solid var(--linha); display: grid; }
.crm__cab .mudo { font-size: var(--t-xs); }
.crm__msgs { padding: 1rem; display: grid; gap: .5rem; align-content: start; background: var(--chao); overflow-y: auto; max-height: 340px; }
.msg { max-width: 80%; padding: .5rem .75rem; border-radius: 10px; font-size: var(--t-sm); display: grid; gap: .15rem; box-shadow: var(--sombra); }
.msg small { font-size: .68rem; opacity: .7; justify-self: end; }
.msg--entrou { background: var(--papel); justify-self: start; border-top-left-radius: 2px; }
.msg--saiu { background: var(--rio-claro); justify-self: end; border-top-right-radius: 2px; }
.msg--nota { background: var(--sol-claro); justify-self: center; font-style: italic; max-width: 92%; }
.crm__resp { padding: .75rem 1rem; border-top: 1px solid var(--linha); display: grid; gap: .5rem; }
.crm__resp textarea { min-height: 70px; }
@media (max-width: 760px) {
  .crm { grid-template-columns: 1fr; }
  .crm__lista { border-right: 0; border-bottom: 1px solid var(--linha); max-height: 210px; }
}

/* ---------- História ---------- */
.tempo { list-style: none; position: relative; display: grid; gap: var(--e-4); padding-left: 76px; margin: var(--e-4) 0; }
.tempo::before { content: ""; position: absolute; left: 54px; top: 6px; bottom: 6px; width: 3px; border-radius: 2px; background: linear-gradient(var(--rio), var(--sol), var(--urucum)); }
.tempo__item { position: relative; min-width: 0; }
.tempo__item::before { content: ""; position: absolute; left: -28px; top: 14px; width: 13px; height: 13px; border-radius: 50%; background: var(--papel); border: 3px solid var(--rio); }
.tempo__item--conquista::before { border-color: var(--sol); }
.tempo__item--evento::before { border-color: var(--urucum); }
.tempo__ano { position: absolute; left: -76px; top: 10px; width: 40px; text-align: right; font: 900 1.05rem/1 var(--f-titulo); color: var(--tinta-2); }
.tempo__item .cartao { display: grid; gap: .3rem; }
.galeria-dir { display: grid; gap: var(--e-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); }
.dirigente { display: grid; justify-items: center; text-align: center; gap: .5rem; margin: 0; }
.dirigente figcaption { display: grid; gap: .25rem; font-size: var(--t-sm); }
.dirigente figcaption span { color: var(--tinta-2); font-size: var(--t-xs); }
.dirigente--atual { border-color: var(--rio); box-shadow: 0 0 0 2px var(--rio-claro); }
.dirigente--atual .ava--g { border-color: var(--rio); }

/* ---------- Visual do site ---------- */
.vis-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--e-5); align-items: start; }
@media (max-width: 900px) { .vis-grade { grid-template-columns: 1fr; } }
.paletas { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .5rem; margin-top: .4rem; }
.paleta { display: grid; grid-template-columns: 22px 22px 1fr; gap: .35rem; align-items: center; padding: .5rem; border: 2px solid var(--linha); border-radius: var(--raio); background: var(--papel); color: inherit; font: inherit; font-size: var(--t-xs); text-align: left; cursor: pointer; }
.paleta span { width: 22px; height: 22px; border-radius: 50%; border: 1px solid rgba(0,0,0,.15); }
.paleta[aria-checked="true"], .modelo-home[aria-checked="true"] { border-color: var(--rio); box-shadow: 0 0 0 2px var(--rio-claro); }
.modelos-home { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .5rem; margin-top: .4rem; }
.modelo-home { display: grid; gap: .2rem; text-align: left; font: inherit; color: inherit; cursor: pointer; border-width: 2px; }
.modelo-home span { font-size: var(--t-xs); color: var(--tinta-2); }
.vis-previa { border: 1px solid var(--linha); border-radius: var(--raio-g); overflow: hidden; background: var(--papel); margin-top: .4rem; font-size: 12px; }
.vis-previa__topo { display: flex; gap: .4rem; align-items: center; padding: .5rem .7rem; background: var(--e-cor); color: #fff; }
.vis-previa__topo b { font: 900 .85rem/1 var(--f-titulo); text-transform: uppercase; margin-right: auto; }
.vis-previa__topo i { width: 26px; height: 5px; border-radius: 3px; background: rgba(255,255,255,.55); }
.vis-previa__heroi { background: var(--e-cor); color: #fff; padding: 1.2rem .9rem 1.4rem; display: grid; gap: .4rem; }
.vis-previa__heroi small { color: var(--e-cor2); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .62rem; }
.vis-previa__heroi strong { font: 900 1.35rem/1.02 var(--f-titulo); text-transform: uppercase; max-width: 18ch; }
.vis-previa__heroi p { opacity: .9; max-width: 40ch; }
.vis-previa__bt { justify-self: start; background: var(--e-cor2); color: #1C1408; font-weight: 700; padding: .3rem .6rem; border-radius: 4px; font-size: .68rem; }
.vis-previa__faixa { height: 8px; background: repeating-linear-gradient(90deg, var(--e-cor2) 0 18px, var(--e-cor) 18px 36px, #B83C29 36px 54px); }
.vis-previa__corpo { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; padding: .8rem; }
.vis-previa__corpo span { height: 46px; border-radius: 6px; background: var(--papel-2); }
.vis-previa--cartaz .vis-previa__heroi { background: var(--e-cor2); color: #1C1408; }
.vis-previa--cartaz .vis-previa__heroi small { color: var(--e-cor); }
.vis-previa--cartaz .vis-previa__heroi strong { font-size: 3rem; }
.vis-previa--cartaz .vis-previa__bt { background: var(--e-cor); color: #fff; }
.vis-previa--foto .vis-previa__heroi { background: linear-gradient(160deg, rgba(0,0,0,.15), rgba(0,0,0,.75)), var(--e-cor); min-height: 150px; align-content: end; }
.vis-previa--jornal .vis-previa__heroi { background: var(--papel); color: var(--tinta); grid-template-columns: 1fr 1fr; align-items: start; border-bottom: 3px double var(--tinta-2); }
.vis-previa--jornal .vis-previa__heroi small { grid-column: 1 / -1; color: var(--e-cor); }
.vis-previa--jornal .vis-previa__bt { grid-column: 1 / -1; }

/* Modelos aplicados no site de exemplo */
.ent-site--cartaz .ent-heroi { background: var(--e-cor2); color: #1C1408; }
.ent-site--cartaz .ent-heroi .sobretitulo { color: var(--e-cor) !important; }
.ent-site--cartaz .ent-heroi .btn { background: var(--e-cor); border-color: var(--e-cor); color: #fff; }
.ent-site--cartaz .ent-heroi .linha-acoes .btn--vazado { color: #1C1408; background: transparent; border-color: currentColor; }
.ent-site--foto .ent-heroi { background: linear-gradient(160deg, rgba(0,0,0,.15), rgba(0,0,0,.72)), var(--e-cor); padding-block: var(--e-8); }
.ent-site--jornal .ent-heroi { background: var(--papel); color: var(--tinta); border-bottom: 4px double var(--tinta-2); }
.ent-site--jornal .ent-heroi .env { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 0 var(--e-6); align-items: end; }
.ent-site--jornal .ent-heroi .sobretitulo { grid-column: 1 / -1; color: var(--e-cor) !important; }
.ent-site--jornal .ent-heroi .linha-acoes { grid-column: 1 / -1; }
.ent-site--jornal .ent-heroi .linha-acoes .btn--vazado { color: var(--tinta); }
@media (max-width: 760px) { .ent-site--jornal .ent-heroi .env { grid-template-columns: 1fr; } }

/* ---------- Agenda de atendimento ---------- */
.atendentes { display: grid; gap: var(--e-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.atendente { display: grid; gap: .7rem; align-content: start; min-width: 0; }
.atendente > .btn { justify-self: start; }
.horarios { display: grid; gap: .3rem; }
.horarios .ficha { font-family: var(--f-mono); }

/* ---------- Validar certificado ---------- */
.validar { display: grid; gap: .8rem; margin-top: var(--e-4); }
.validar__campo { display: grid; grid-template-columns: 1fr auto; gap: .5rem; align-items: end; }
.validar__campo .rotulo { grid-column: 1 / -1; }
.validar__res:empty { display: none; }
.validar__res { display: grid; gap: .4rem; justify-items: start; }
.validar__res .certificado { justify-self: stretch; }

@media print {
  .cv-folha, .certificado { border: 0; }
}

/* Indicadores com colunas fixas no código: no celular viram 2 colunas */
@media (max-width: 700px) { .secao-corpo .indicadores { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }


/* ===== assets/css/curriculo.css ===== */
/* ACCTNN — Currículo de uma página com o papel timbrado da ACCTNN (versão 20).
   Criado, desenvolvido, testado, abandonado, rejeitado, recuperado e testado fonte vozes da minha cabeça - William Tassi Moreira
   Folha A4 (210 × 297 mm). Na tela aparece como uma folha; ao imprimir (ou "Salvar como PDF") só a folha sai. */
.cv-a4 { --cv-tinta: #1f1a14; --cv-mudo: #5d5348; --cv-linha: #d9cfbf; --cv-rio: #0f5c56; --cv-sol: #e8a317; --cv-urucum: #b5451b;
  width: 210mm; height: 297mm; box-sizing: border-box; margin: 0 auto; background: #fff; color: var(--cv-tinta);
  font-family: "Public Sans", system-ui, sans-serif; font-size: 9.5pt; line-height: 1.38; position: relative; overflow: hidden;
  box-shadow: 0 6px 30px rgb(0 0 0 / .18); display: grid; grid-template-rows: auto 1fr auto; }
.cv-a4 * { box-sizing: border-box; }
.cv-timbre { display: flex; align-items: center; gap: 4mm; padding: 7mm 12mm 3mm; border-bottom: .6mm solid var(--cv-rio); }
.cv-timbre .cv-selo { width: 13mm; height: 13mm; flex: none; }
.cv-timbre .cv-selo svg { width: 100%; height: 100%; display: block; }
.cv-timbre b { font: 900 13pt/1 "Big Shoulders Display", system-ui, sans-serif; letter-spacing: .04em; display: block; color: var(--cv-tinta); }
.cv-timbre small { font-size: 7.2pt; color: var(--cv-mudo); letter-spacing: .06em; text-transform: uppercase; }
.cv-timbre .cv-faixa { margin-left: auto; display: flex; height: 4mm; width: 34mm; }
.cv-timbre .cv-faixa i { flex: 1; } .cv-faixa i:nth-child(1) { background: var(--cv-rio); } .cv-faixa i:nth-child(2) { background: var(--cv-urucum); flex: .25; } .cv-faixa i:nth-child(3) { background: var(--cv-sol); }
.cv-corpo { padding: 5mm 12mm 3mm; display: grid; grid-template-rows: auto 1fr; gap: 4mm; min-height: 0; }
.cv-cab { display: grid; grid-template-columns: 1fr auto; gap: 5mm; align-items: center; }
.cv-cab h1 { font: 800 21pt/1.05 "Big Shoulders Display", system-ui, sans-serif; letter-spacing: .01em; margin: 0; color: var(--cv-tinta); text-transform: none; }
.cv-cab .cv-cargo { font-size: 11pt; font-weight: 600; color: var(--cv-rio); margin: 1mm 0 2mm; }
.cv-contatos { display: flex; flex-wrap: wrap; gap: 1mm 5mm; font-size: 8.6pt; color: var(--cv-mudo); }
.cv-contatos span b { color: var(--cv-tinta); font-weight: 600; }
.cv-foto { width: 27mm; height: 27mm; border-radius: 50%; object-fit: cover; border: .6mm solid var(--cv-sol); }
.cv-colunas { display: grid; grid-template-columns: minmax(0, 1fr) 58mm; gap: 7mm; min-height: 0; }
.cv-lado { border-left: .3mm solid var(--cv-linha); padding-left: 5mm; }
.cv-a4 h2 { font: 700 8.4pt/1 "Public Sans", system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--cv-urucum); margin: 0 0 1.8mm;
  padding-bottom: 1mm; border-bottom: .3mm solid var(--cv-linha); }
.cv-bloco { margin-bottom: 4mm; break-inside: avoid; }
.cv-bloco p { margin: 0 0 1mm; }
.cv-item { margin-bottom: 2.4mm; }
.cv-item .cv-t { font-weight: 700; }
.cv-item .cv-s { color: var(--cv-mudo); font-size: 8.6pt; }
.cv-item .cv-d { margin-top: .6mm; }
.cv-lado dl { margin: 0; display: grid; gap: 1.6mm; }
.cv-lado dt { font-size: 7.4pt; text-transform: uppercase; letter-spacing: .08em; color: var(--cv-mudo); }
.cv-lado dd { margin: 0; font-weight: 600; }
.cv-rodape { display: flex; justify-content: space-between; gap: 4mm; padding: 2.5mm 12mm 6mm; font-size: 7pt; color: var(--cv-mudo); border-top: .3mm solid var(--cv-linha); }
.cv-palco { overflow-x: auto; padding: 1rem 0 2rem; }
@media screen and (max-width: 860px) { .cv-palco .cv-a4 { zoom: .45; } }
@media screen and (min-width: 861px) and (max-width: 1100px) { .cv-palco .cv-a4 { zoom: .8; } }
@page { size: A4; margin: 0; }
#cv-impressao { display: none; }
@media print {
  body.imprimindo-cv > *:not(#cv-impressao) { display: none !important; }
  body.imprimindo-cv { margin: 0 !important; padding: 0 !important; background: #fff !important; }
  body.imprimindo-cv #cv-impressao { display: block !important; }
  .cv-palco { padding: 0 !important; overflow: visible !important; }
  .cv-a4 { box-shadow: none !important; zoom: 1 !important; margin: 0 !important; }
  .cv-a4 * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}


/* ===== assets/css/aparencia.css ===== */
/* Criado, desenvolvido, testado, abandonado, rejeitado, recuperado e testado fonte vozes da minha cabeça - William Tassi Moreira */
/* ACCTNN — Aparência (versão 26): o desenho de cada opção dos modelos (dados/aparencias.js).
   As marcas data-ap-* ficam na página inteira (html) ou só na caixa da prévia do painel.
   Sem marca nenhuma, a página fica exatamente como sempre foi (modelo "Faixa do Encontro"). */

/* ---------- letra dos títulos ---------- */
[data-ap-fonte="grotesca"] { --f-titulo: "Public Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
[data-ap-fonte="grotesca"] :is(h1, h2, h3) { letter-spacing: -.02em; font-weight: 800; }
[data-ap-fonte="serifa"] { --f-titulo: "Lora", Georgia, "Times New Roman", serif; }
[data-ap-fonte="serifa"] :is(h1, h2, h3) { font-weight: 700; letter-spacing: -.01em; }
[data-ap-fonte="arredondada"] { --f-titulo: "Nunito", "Segoe UI", Roboto, Arial, sans-serif; --f-texto: "Nunito", "Segoe UI", Roboto, Arial, sans-serif; }
[data-ap-fonte="arredondada"] :is(h1, h2, h3) { font-weight: 900; letter-spacing: -.01em; }
/* letras mais largas que a condensada: títulos grandes um pouco menores, para não estourar no celular */
[data-ap-fonte]:not([data-ap-fonte="condensada"]) h1 { font-size: clamp(2.1rem, 5vw, 3.6rem); line-height: 1.06; }
[data-ap-fonte]:not([data-ap-fonte="condensada"]) h2 { font-size: clamp(1.6rem, 3.4vw, 2.3rem); line-height: 1.12; }
[data-ap-fonte]:not([data-ap-fonte="condensada"]) .abertura__numeros strong { font-size: 2rem; }

/* a sigla redonda da associação continua na letra estreita, para caber no círculo */
[data-ap-fonte] .ent-sigla { font-family: "Big Shoulders Display", "Arial Narrow", "Roboto Condensed", Impact, sans-serif; }

/* ---------- títulos em maiúsculas ou não ---------- */
[data-ap-caixa="normal"] :is(h1, h2, .janela h3, .nivel h4, .cota__cab b, .criativo__titulo) { text-transform: none; }

/* ---------- cantos ---------- */
[data-ap-raio="0"] { --raio: 0px; --raio-g: 0px; }
[data-ap-raio="2"] { --raio: 10px; --raio-g: 20px; }
[data-ap-raio="3"] { --raio: 14px; --raio-g: 28px; }

/* ---------- sombra ---------- */
[data-ap-sombra="0"] { --sombra: none; }
[data-ap-sombra="2"] { --sombra: 0 2px 4px rgba(0,0,0,.08), 0 18px 40px -16px rgba(0,0,0,.35); }

/* ---------- abertura (portal e site da associação) ---------- */
[data-ap-abertura="centro"] .abertura__grade { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; gap: var(--e-5); }
[data-ap-abertura="centro"] .abertura__selo { order: -1; max-width: 170px; }
[data-ap-abertura="centro"] .abertura__texto { justify-items: center; max-width: 820px; }
[data-ap-abertura="centro"] .abertura__texto > p, [data-ap-abertura="centro"] .abertura__legenda { margin-inline: auto; }
[data-ap-abertura="centro"] .abertura :is(.linha-acoes, .abertura__numeros) { justify-content: center; }
[data-ap-abertura="centro"] .abertura .faixa-convite { text-align: left; width: 100%; }
[data-ap-abertura="centro"] .ent-heroi .env { text-align: center; }
[data-ap-abertura="centro"] .ent-heroi :is(h1, p) { margin-inline: auto; }
[data-ap-abertura="centro"] .ent-heroi .linha-acoes { justify-content: center; }

/* ---------- faixa do encontro ---------- */
[data-ap-faixa="fina"] :is(.faixa--alta, .faixa:not(.faixa--fina)) { height: 22px; }
[data-ap-faixa="fina"] .ent-faixa { height: 8px; }
[data-ap-faixa="sem"] :is(.faixa, .ent-faixa, .janela__faixa) { display: none; }
[data-ap-faixa="sem"] .topo { border-bottom-width: 2px; }

/* ---------- espaço entre as partes ---------- */
[data-ap-espaco="compacto"] { --e-6: 1.5rem; --e-7: 2.2rem; --e-8: 3rem; }
[data-ap-espaco="amplo"] { --e-6: 2.5rem; --e-7: 3.8rem; --e-8: 6rem; }

/* ---------- botões ---------- */
[data-ap-botao="pilula"] :is(.btn, .btn-icone, .entrada, .campo input, .campo select) { border-radius: 999px; }
[data-ap-botao="pilula"] .campo textarea { border-radius: var(--raio-g); }

/* ---------- topo colorido (no computador; no celular o menu aberto continua claro) ---------- */
[data-ap-topo="cor"] .topo { background: var(--rio); border-bottom-color: transparent; color: var(--sobre-rio); }
[data-ap-topo="cor"] .topo :is(.marca, .marca:hover, .marca__nome small) { color: var(--sobre-rio); }
[data-ap-topo="cor"] .topo .btn-icone { background: transparent; color: var(--sobre-rio); border-color: color-mix(in srgb, var(--sobre-rio) 35%, transparent); }
[data-ap-topo="cor"] .topo .btn-icone:hover { background: color-mix(in srgb, var(--sobre-rio) 14%, transparent); }
@media (min-width: 1241px) {
  [data-ap-topo="cor"] .topo .menu a { color: color-mix(in srgb, var(--sobre-rio) 82%, transparent); }
  [data-ap-topo="cor"] .topo .menu a:hover { color: var(--sobre-rio); background: color-mix(in srgb, var(--sobre-rio) 14%, transparent); }
  [data-ap-topo="cor"] .topo .menu a[aria-current="page"] { color: var(--sobre-rio); box-shadow: inset 0 -3px 0 var(--sol); }
}

/* ---------- cartões ---------- */
[data-ap-cartao="sombra"] :is(.cartao, .clube__item, .cota) { box-shadow: var(--sombra); border-color: color-mix(in srgb, var(--linha) 55%, transparent); }
[data-ap-cartao="chapado"] :is(.cartao, .clube__item, .cota) { background: var(--papel-2); border-color: transparent; }
[data-ap-cartao="chapado"] .cartao .cartao { background: var(--papel); }

/* =================== painel › Aparência =================== */
.ap-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: var(--e-5); align-items: start; }
@media (max-width: 1000px) { .ap-grade { grid-template-columns: minmax(0, 1fr); } }
.ap-lado { display: grid; gap: var(--e-4); min-width: 0; }
.ap-estilos { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .5rem; }
.ap-estilo { display: grid; gap: .35rem; padding: .5rem; border: 2px solid var(--linha); border-radius: var(--raio); background: var(--papel); color: var(--tinta); cursor: pointer; text-align: left; font-size: var(--t-xs); font-weight: 600; min-width: 0; }
.ap-estilo[aria-checked="true"] { border-color: var(--tinta); box-shadow: 0 0 0 2px var(--sol); }
.ap-estilo__cores { display: grid; grid-template-columns: 2fr 1.4fr 1fr 1fr; height: 26px; border-radius: 4px; overflow: hidden; }
.ap-modelos { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: .5rem; }
.ap-modelo { display: grid; gap: .2rem; padding: .6rem .7rem; border: 2px solid var(--linha); border-radius: var(--raio); background: var(--papel); color: var(--tinta); cursor: pointer; text-align: left; min-width: 0; }
.ap-modelo b { font-size: var(--t-sm); }
.ap-modelo span { font-size: var(--t-xs); color: var(--tinta-2); }
.ap-modelo[aria-checked="true"] { border-color: var(--tinta); box-shadow: 0 0 0 2px var(--sol); }
.ap-convites { display: grid; gap: .5rem; }
.ap-convite { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .7rem; align-items: start; padding: .7rem .8rem; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--papel); cursor: pointer; }
.ap-convite b { display: block; font-size: var(--t-sm); }
.ap-convite small { color: var(--tinta-2); font-size: var(--t-xs); display: block; }
/* chave liga e desliga */
.chave { appearance: none; -webkit-appearance: none; width: 46px; height: 26px; border-radius: 999px; background: var(--linha); position: relative; cursor: pointer; flex: none; margin: 0; transition: background .15s; }
.chave::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.3); transition: transform .15s; }
.chave:checked { background: var(--rio); }
.chave:checked::after { transform: translateX(20px); }
.chave:focus-visible { outline: 3px solid var(--sol); outline-offset: 2px; }
.ap-alvo { display: flex; gap: .6rem; flex-wrap: wrap; align-items: end; }
.ap-alvo .campo { min-width: min(320px, 100%); flex: 1; }
.ap-fixa { position: sticky; top: 84px; display: grid; gap: var(--e-3); min-width: 0; }
@media (max-width: 1000px) { .ap-fixa { position: static; } }

/* prévia: a página de verdade, em miniatura, dentro de uma moldura (não mistura com o visual do painel) */
.ap-moldura { position: relative; overflow: hidden; border: 1px solid var(--linha); border-radius: var(--raio-g); background: var(--papel-2); }
.ap-moldura iframe { position: absolute; top: 0; left: 0; border: 0; transform-origin: 0 0; background: transparent; }
.ap-tamanhos { display: flex; gap: .4rem; flex-wrap: wrap; }


/* ===== assets/css/membro.css ===== */
/* Criado, desenvolvido, testado, abandonado, rejeitado, recuperado e testado fonte vozes da minha cabeça - William Tassi Moreira */
/* ACCTNN — telas do membro (versão 28): Ser membro, carteirinha, conferir, cheguei na cidade, agenda cultural, direitos, ajude seu conterrâneo */
.membro-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--e-4); }
.membro-item { display: grid; gap: .5rem; align-content: start; position: relative; padding-top: var(--e-6); }
.membro-item h3 { font-size: 1.35rem; text-transform: none; }
.membro-num { position: absolute; top: -12px; left: var(--e-5); width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
  background: var(--sol); color: var(--sobre-sol); font: 900 1rem/1 var(--f-titulo); }

/* carteirinha: sempre clara e com as cores da marca, para a loja ler bem mesmo com o celular no escuro */
.carteirinha-env { max-width: 460px; }
.carteirinha { background: linear-gradient(135deg, #0C6A5A 0%, #063A31 100%); color: #fff;
  border-radius: 18px; padding: 1.1rem 1.2rem; box-shadow: var(--sombra); display: grid; gap: .9rem; aspect-ratio: 1.586; min-height: 0; overflow: hidden; }
.carteirinha header { display: flex; align-items: center; gap: .6rem; }
.carteirinha header b { display: block; font: 900 1.25rem/1 var(--f-titulo); letter-spacing: .04em; }
.carteirinha header small { display: block; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.carteirinha__selo { width: 36px; height: 36px; flex: none; background: #fff; border-radius: 50%; padding: 2px; }
.carteirinha__num { margin-left: auto; font: 600 .78rem/1 var(--f-mono); background: rgba(255,255,255,.16); padding: .3rem .5rem; border-radius: 6px; }
.carteirinha__corpo { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .8rem; align-items: end; min-height: 0; }
.carteirinha__corpo > div:first-child { display: grid; gap: .05rem; min-width: 0; }
.carteirinha__corpo small { font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; opacity: .78; margin-top: .3rem; }
.carteirinha__corpo strong { font: 800 1.15rem/1.15 var(--f-texto); overflow-wrap: anywhere; }
.carteirinha__corpo span { font-size: .85rem; }
.carteirinha__qr { display: grid; justify-items: center; gap: .3rem; background: #fff; color: #111; border-radius: 10px; padding: .4rem; }
.carteirinha__qr svg { width: 104px; height: 104px; display: block; }
.carteirinha__qr .mono { font-size: .72rem; letter-spacing: .08em; }
.carteirinha footer { display: flex; align-items: center; gap: .5rem; font-size: .68rem; opacity: .92; }
@media (max-width: 420px) { .carteirinha { aspect-ratio: auto; } .carteirinha__qr svg { width: 88px; height: 88px; } }
@media print {
  body.imprimindo-carteirinha * { visibility: hidden !important; }
  body.imprimindo-carteirinha .carteirinha, body.imprimindo-carteirinha .carteirinha * { visibility: visible !important; }
  body.imprimindo-carteirinha .carteirinha { position: fixed; left: 10mm; top: 10mm; width: 86mm; box-shadow: none; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

.conferido { border-width: 2px; }
.conferido b { font-size: 1.05rem; }
.conferido--ok { border-color: var(--ok); }
.conferido--ok b { color: var(--ok); }
.conferido--nao { border-color: var(--erro); }
.conferido--nao b { color: var(--erro); }

.chegando-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--e-4); align-items: start; }
.passos-lista { margin: .5rem 0 .2rem 1.1rem; padding: 0; display: grid; gap: .35rem; font-size: var(--t-sm); }
.links-lista { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: .45rem; font-size: var(--t-sm); }
.links-lista li { overflow-wrap: anywhere; }

/* versão 52.4: a agenda (.agenda-lista, .agenda-item, .agenda-dia) foi para componentes.css (vale também nas páginas do servidor) */

.direitos-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--e-4); align-items: start; }
.direitos-lista h3 { font-size: 1.3rem; text-transform: none; margin-bottom: .4rem; }
.direitos-lista p { font-size: var(--t-sm); }

.casos-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--e-4); align-items: start; }
.caso { padding: 0; overflow: hidden; display: grid; }
.caso__foto { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: var(--papel-2); }
.caso__corpo { padding: var(--e-4); display: grid; gap: .35rem; min-width: 0; }
.caso__corpo h4 { font-size: 1.05rem; }
.caso__corpo p { font-size: var(--t-sm); overflow-wrap: anywhere; }
/* versão 49: carteirinha da família com código que muda a cada 30 segundos */
.carteirinha__familia { list-style: none; margin: 0 0 .3rem; padding: 0; font-size: .92rem; }
.carteirinha__familia small { color: rgba(255,255,255,.75) !important; }
.carteirinha__qr .carteirinha__codigo { font-size: 1.25rem; letter-spacing: .12em; font-weight: 700; }
.carteirinha__qr .carteirinha__tempo { display: block; width: 100%; height: 4px; border-radius: 2px; background: rgba(0,0,0,.12); overflow: hidden; margin-top: .3rem; }
.carteirinha__tempo i { display: block; height: 100%; background: #E0A526; transition: width .5s linear; }
.carteirinha__sem { font-size: .85rem; text-align: center; margin: 1rem .3rem; color: #2a2118; }
.carteirinha__qr svg { width: 132px; height: 132px; } @media (max-width: 420px) { .carteirinha__qr svg { width: 116px; height: 116px; } }
.carteirinha strong small, .carteirinha strong .mudo { color: rgba(255,255,255,.8) !important; font-size: .75em; font-weight: 600; }


/* ===== assets/css/lojas.css ===== */
/* Criado, desenvolvido, testado, abandonado, rejeitado, recuperado e testado fonte vozes da minha cabeça - William Tassi Moreira */
/* Lojas da Rede (versão 32): vitrine geral (#lojas) e abrir loja (#abrir-loja) */
.lojas-filtros { display: grid; grid-template-columns: 2fr 1fr 1.4fr 1fr 1fr; gap: .7rem; align-items: start; margin-bottom: 1rem; }
@media (max-width: 900px) { .lojas-filtros { grid-template-columns: 1fr 1fr; } .lojas-filtros .lojas-busca { grid-column: 1 / -1; } }
@media (max-width: 480px) { .lojas-filtros { grid-template-columns: 1fr; } }
.lojas-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(180px, 100%), 1fr)); gap: .8rem; }
.loja-produto { display: flex; flex-direction: column; padding: 0; overflow: hidden; text-decoration: none; color: inherit; }
.loja-produto:hover, .loja-produto:focus-visible { outline: 2px solid var(--sol, #E09A12); }
.loja-produto__foto { aspect-ratio: 1; background: var(--papel-2); display: grid; place-items: center; }
.loja-produto__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.loja-produto__info { display: grid; gap: .2rem; padding: .6rem .7rem .8rem; }
.loja-produto__nome { font-weight: 600; font-size: var(--t-sm, .95rem); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.loja-produto__preco { font-weight: 700; font-size: 1.15rem; }
.loja-produto__preco s { font-weight: 400; font-size: .85rem; opacity: .7; }
.loja-produto__loja { font-size: var(--t-xs, .8rem); opacity: .75; }
.loja-plano__preco { font-size: 1.6rem; font-weight: 700; margin: .2rem 0; }
.loja-plano__preco small { font-size: .85rem; font-weight: 400; }
/* versão 33: produto em janela, página da loja, carrinho dividido por vendedor */
button.loja-produto { width: 100%; font: inherit; text-align: left; cursor: pointer; border: 1px solid var(--linha); background: var(--papel); }
.lojas-cab { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; }
.lojas-carrinho-bt { white-space: nowrap; }
.lj-janela { position: fixed; inset: 0; z-index: 60; background: rgb(0 0 0 / .55); display: grid; place-items: center; padding: 1rem; }
.lj-janela[hidden] { display: none; }
.lj-janela__in { position: relative; width: min(720px, 100%); max-height: 92vh; overflow: auto; display: grid; gap: .6rem; }
.lj-fechar { position: absolute; top: .4rem; right: .6rem; border: 0; background: none; font-size: 1.6rem; line-height: 1; cursor: pointer; color: inherit; }
.lj-galeria { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .5rem; }
.lj-galeria img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--raio-g, 8px); }
.lj-aviso { border-left: 4px solid var(--sol, #E09A12); padding-left: .6rem; }
.lj-parte { margin-top: .8rem; }
.lj-itens { list-style: none; padding: 0; margin: .5rem 0; }
.lj-item { display: grid; grid-template-columns: 1fr 5rem auto; gap: .5rem; align-items: center; padding: .45rem 0; border-bottom: 1px solid var(--linha); }
.lj-item input { width: 100%; }
.total-carrinho { font-size: 1.1rem; }

