/* ── INGESTO TRANSPARÊNCIA — Página Pública v1.3.0 ── */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600;9..40,700&family=DM+Mono:wght@400;500&display=swap');

:root {
  --ing-azul:       #1e3a5f;
  --ing-azul-claro: #e8eef4;
  --ing-azul-medio: #2d6a9f;
  --ing-escuro:     #1a1a1a;
  --ing-cinza-1:    #f8f7f4;
  --ing-cinza-2:    #e4e2dc;
  --ing-cinza-3:    #888680;
  --ing-branco:     #ffffff;
  --ing-fonte:      'DM Sans', sans-serif;
  --ing-mono:       'DM Mono', monospace;
  --ing-sombra-md:  0 8px 32px rgba(30,58,95,.10);
  --ing-sombra-lg:  0 20px 60px rgba(30,58,95,.12);
  --ing-r-sm: 8px;
  --ing-r-md: 16px;
  --ing-r-lg: 24px;
}

.ing-pub *, .ing-pub *::before, .ing-pub *::after { box-sizing: border-box; margin: 0; padding: 0; }

.ing-pub {
  font-family: var(--ing-fonte);
  background: var(--ing-cinza-1);
  color: var(--ing-escuro);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ── HERO ── */
.ing-hero {
  background: #1e3a5f;
  background-image:
    radial-gradient(ellipse 80% 60% at 20% 50%, rgba(45,106,159,.4) 0%, transparent 70%),
    radial-gradient(ellipse 60% 80% at 80% 20%, rgba(255,255,255,.03) 0%, transparent 60%);
  color: var(--ing-branco);
  padding: 72px 24px 80px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.ing-hero-logo {
  width: 72px; height: 72px;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 24px;
  box-shadow: 0 0 0 4px rgba(255,255,255,.12), var(--ing-sombra-lg);
  position: relative; z-index: 1; overflow: hidden;
}
.ing-hero-logo img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }

.ing-hero h1 {
  font-size: clamp(28px, 5vw, 48px); font-weight: 700;
  letter-spacing: -.02em; margin-bottom: 16px;
  position: relative; z-index: 1;
}

.ing-hero p {
  font-size: clamp(15px, 2vw, 18px); font-weight: 300;
  max-width: 640px; margin: 0 auto 40px;
  color: #ffffff; opacity: .92; line-height: 1.7;
  position: relative; z-index: 1;
}

.ing-hero-nav {
  display: flex; flex-wrap: wrap; gap: 12px;
  justify-content: center; position: relative; z-index: 1;
}

.ing-hero-nav a {
  display: inline-block; padding: 10px 22px;
  border: 1.5px solid rgba(255,255,255,.3);
  border-radius: 100px; color: var(--ing-branco);
  text-decoration: none; font-size: 14px; font-weight: 500;
  transition: all .2s; background: rgba(255,255,255,.06);
}
.ing-hero-nav a:hover {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.6);
  transform: translateY(-1px);
}

/* ── NÚMEROS ── */
.ing-numeros-section { background: #2c3e50; padding: 56px 24px; }

.ing-numeros-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2px; max-width: 1100px; margin: 0 auto;
  border-radius: var(--ing-r-lg); overflow: hidden;
  border: 1px solid rgba(255,255,255,.06);
}

.ing-numero-card {
  background: rgba(255,255,255,.04); padding: 36px 28px;
  text-align: center; border-right: 1px solid rgba(255,255,255,.06);
  transition: background .2s;
}
.ing-numero-card:last-child { border-right: none; }
.ing-numero-card:hover { background: rgba(255,255,255,.07); }

.ing-numero-label {
  font-size: 11px; font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; color: #a8c4e0; margin-bottom: 12px; opacity: .8;
}

.ing-numero-valor {
  font-size: clamp(26px, 4vw, 38px); font-weight: 700;
  color: var(--ing-branco); font-variant-numeric: tabular-nums;
  letter-spacing: -.02em; line-height: 1; margin-bottom: 8px;
}
.ing-numero-valor.destaque { color: #a8c4e0; }

.ing-numero-desc { font-size: 12px; color: #ffffff; font-weight: 300; opacity: .75; }

.ing-numeros-nota {
  text-align: center; margin-top: 20px;
  font-size: 11px; color: #ffffff; opacity: .65; font-family: var(--ing-mono);
}

/* ── CONTAINER ── */
.ing-container { max-width: 1100px; margin: 0 auto; padding: 0 24px; }

/* ── SEÇÕES ── */
.ing-section { padding: 80px 24px; }
.ing-section-alt { background: var(--ing-branco); }

.ing-section-tag {
  display: inline-block; font-size: 11px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--ing-azul); background: var(--ing-azul-claro);
  padding: 4px 12px; border-radius: 100px; margin-bottom: 16px;
}

.ing-section-titulo {
  font-size: clamp(22px, 3.5vw, 34px); font-weight: 700;
  letter-spacing: -.02em; color: var(--ing-escuro); margin-bottom: 12px;
}

.ing-section-desc {
  font-size: 16px; color: var(--ing-cinza-3); max-width: 600px;
  line-height: 1.7; font-weight: 300; margin-bottom: 48px;
}

/* ── BLOCOS ── */
.ing-blocos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px; max-width: 1100px; margin: 0 auto;
}

.ing-bloco {
  border-radius: var(--ing-r-lg); padding: 36px 32px;
  border: 1.5px solid var(--ing-cinza-2);
  transition: transform .2s, box-shadow .2s;
  background: var(--ing-branco);
}
.ing-bloco:hover { transform: translateY(-4px); box-shadow: var(--ing-sombra-lg); }
.ing-bloco-naofinanceiro { background: #f0f0ee; }
.ing-bloco-entregas { background: #eaeae8; }

.ing-bloco-icone {
  width: 44px; height: 44px; border-radius: var(--ing-r-sm);
  background: var(--ing-cinza-2);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; margin-bottom: 20px;
}

.ing-bloco-tipo {
  font-size: 11px; font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; color: var(--ing-cinza-3); margin-bottom: 8px;
}

.ing-bloco h3 {
  font-size: 20px; font-weight: 700; color: var(--ing-escuro);
  margin-bottom: 20px; letter-spacing: -.01em;
}

.ing-bloco-itens { list-style: none; }

.ing-bloco-item {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.07);
  font-size: 14px; gap: 16px;
}
.ing-bloco-item:last-child { border-bottom: none; }
.ing-bloco-item-label { font-weight: 400; color: var(--ing-cinza-3); }
.ing-bloco-item-valor { font-weight: 600; font-family: var(--ing-mono); font-size: 13px; white-space: nowrap; }

.ing-bloco-total {
  margin-top: 20px; padding-top: 16px;
  border-top: 2px solid var(--ing-cinza-2);
  display: flex; justify-content: space-between; align-items: center;
}
.ing-bloco-total-label { font-size: 13px; font-weight: 600; color: var(--ing-cinza-3); }
.ing-bloco-total-valor { font-size: 20px; font-weight: 700; font-family: var(--ing-mono); color: var(--ing-azul); }

/* ── ENTREGAS (1.11.4) — item de texto livre, diferente de ing-bloco-item que é
   para pares rótulo/valor curtos e não quebra linha (white-space:nowrap).
   Entregas têm descrição longa e precisam quebrar linha normalmente. */
.ing-entrega-item { display: block; padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.07); }
.ing-entrega-item:last-child { border-bottom: none; }
.ing-entrega-frente {
  display: block; font-size: 11px; font-weight: 600; color: var(--ing-azul);
  text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px;
}
.ing-entrega-texto {
  display: block; font-size: 14px; font-weight: 400; color: var(--ing-cinza-3);
  line-height: 1.5; white-space: normal;
}

/* ── INDICADOR ── */
.ing-indicador-section {
  background: #f0efe9;
  border-top: 1px solid var(--ing-cinza-2);
  border-bottom: 1px solid var(--ing-cinza-2);
  padding: 60px 24px;
}

.ing-indicador-box {
  max-width: 800px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 32px; align-items: center;
}

.ing-indicador-numero { text-align: center; }

.ing-indicador-cifra {
  font-size: clamp(56px, 10vw, 96px); font-weight: 700;
  color: #1e3a5f; letter-spacing: -.04em; line-height: 1;
  font-variant-numeric: tabular-nums;
}

.ing-indicador-unidade { font-size: 18px; font-weight: 500; color: #2d6a9f; margin-top: 8px; }

.ing-indicador-texto h3 {
  font-size: 22px; font-weight: 700; color: var(--ing-escuro);
  margin-bottom: 12px; letter-spacing: -.01em;
}

.ing-indicador-texto p { font-size: 15px; color: rgba(26,26,26,.6); line-height: 1.7; font-weight: 300; }

.ing-indicador-aviso {
  max-width: 800px; margin: 24px auto 0;
  font-size: 11px; color: rgba(26,26,26,.45);
  text-align: center; font-family: var(--ing-mono);
}

/* ── METODOLOGIA ── */
.ing-metodo-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px; max-width: 1100px; margin: 0 auto;
}

.ing-metodo-card {
  background: var(--ing-cinza-1); border-radius: var(--ing-r-md);
  padding: 28px 24px; border: 1.5px solid var(--ing-cinza-2);
}

.ing-metodo-num { font-size: 11px; font-weight: 600; letter-spacing: .12em; color: var(--ing-azul); font-family: var(--ing-mono); margin-bottom: 12px; }
.ing-metodo-card h4 { font-size: 16px; font-weight: 700; margin-bottom: 10px; color: var(--ing-escuro); }
.ing-metodo-card p { font-size: 14px; color: var(--ing-cinza-3); line-height: 1.65; font-weight: 300; }

.ing-metodo-destaque { background: #1e3a5f; border-color: #1e3a5f; }
.ing-metodo-destaque .ing-metodo-num { color: #a8c4e0; }
.ing-metodo-destaque h4 { color: var(--ing-branco); }
.ing-metodo-destaque p { color: rgba(255,255,255,.6); }

/* ── RELATÓRIOS ── */
.ing-filtros {
  display: flex; gap: 12px; flex-wrap: wrap;
  align-items: center; max-width: 1100px; margin: 0 auto 32px;
}

.ing-filtro-select, .ing-filtro-busca {
  padding: 10px 16px; border: 1.5px solid var(--ing-cinza-2);
  border-radius: 100px; font-family: var(--ing-fonte); font-size: 14px;
  color: var(--ing-escuro); background: var(--ing-branco);
  outline: none; transition: border-color .2s;
}
.ing-filtro-busca { flex: 1; min-width: 200px; padding: 10px 18px; cursor: text; }
.ing-filtro-select:focus, .ing-filtro-busca:focus { border-color: var(--ing-azul); }
.ing-filtro-busca::placeholder { color: var(--ing-cinza-3); }

.ing-relatorios-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px; max-width: 1100px; margin: 0 auto;
}

.ing-relatorio-card {
  background: var(--ing-branco); border-radius: var(--ing-r-md);
  padding: 24px; border: 1.5px solid var(--ing-cinza-2);
  text-decoration: none; color: var(--ing-escuro);
  transition: all .2s; display: flex; flex-direction: column; gap: 12px;
}
.ing-relatorio-card:hover { border-color: var(--ing-azul); box-shadow: var(--ing-sombra-md); transform: translateY(-2px); }

.ing-relatorio-tags { display: flex; gap: 8px; flex-wrap: wrap; }

.ing-tag { font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 100px; letter-spacing: .06em; }
.ing-tag-ano { background: #1e3a5f; color: var(--ing-branco); }
.ing-tag-mes { background: #e8eef4; color: #1e3a5f; }

.ing-relatorio-card h4 { font-size: 15px; font-weight: 600; color: var(--ing-azul-medio); line-height: 1.4; }
.ing-relatorio-card p { font-size: 13px; color: var(--ing-cinza-3); line-height: 1.55; font-weight: 300; flex: 1; }
.ing-relatorio-link { font-size: 12px; font-weight: 600; color: var(--ing-azul); }
.ing-relatorio-link::after { content: " →"; }

.ing-paginacao { display: flex; justify-content: center; gap: 8px; margin-top: 32px; }

.ing-pag-btn {
  padding: 10px 20px; border-radius: 100px;
  border: 1.5px solid var(--ing-cinza-2); background: var(--ing-branco);
  font-family: var(--ing-fonte); font-size: 13px; font-weight: 500;
  cursor: pointer; transition: all .2s; color: var(--ing-escuro);
}
.ing-pag-btn:hover { border-color: var(--ing-azul); color: var(--ing-azul); }
.ing-pag-btn.ativo { background: var(--ing-azul); border-color: var(--ing-azul); color: var(--ing-branco); }

/* ── FAQ ── */
.ing-faq-lista { max-width: 760px; margin: 0 auto; }
.ing-faq-item { border-bottom: 1.5px solid var(--ing-cinza-2); overflow: hidden; }

.ing-faq-pergunta {
  width: 100%; text-align: left; padding: 20px 0;
  background: none; border: none; font-family: var(--ing-fonte);
  font-size: 15px; font-weight: 600; color: var(--ing-escuro);
  cursor: pointer; display: flex; justify-content: space-between;
  align-items: center; gap: 16px; transition: color .2s;
}
.ing-faq-pergunta:hover { color: var(--ing-azul); }

.ing-faq-icone {
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--ing-azul-claro); color: var(--ing-azul);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 700; flex-shrink: 0;
  transition: transform .3s, background .2s;
}
.ing-faq-item.aberto .ing-faq-icone { transform: rotate(45deg); background: var(--ing-azul); color: var(--ing-branco); }

.ing-faq-resposta {
  max-height: 0; overflow: hidden;
  transition: max-height .35s ease, padding .35s ease;
  font-size: 14px; color: var(--ing-cinza-3);
  line-height: 1.7; font-weight: 300; padding: 0;
}
.ing-faq-item.aberto .ing-faq-resposta { max-height: 300px; padding-bottom: 20px; }

/* ── RESPONSIVO ── */
@media (max-width: 640px) {
  .ing-numeros-grid { grid-template-columns: 1fr 1fr; }
  .ing-indicador-box { grid-template-columns: 1fr; text-align: center; }
  .ing-bloco { padding: 28px 22px; }
  .ing-indicador-cifra { font-size: 72px; }
}
@media (max-width: 420px) {
  .ing-numeros-grid { grid-template-columns: 1fr; }
  .ing-numero-card { border-right: none; border-bottom: 1px solid rgba(255,255,255,.06); }
}

/* ── IMPRESSÃO (1.11.6) — window.print() sem isso perde fundo escuro/gradiente
   por padrão de navegador (browsers não imprimem cor de fundo sem instrução
   explícita). Cobre só elementos do nosso próprio markup (.ing-pub e filhos);
   widgets de terceiros no tema (WhatsApp flutuante, seletor de idioma, admin
   bar do WordPress) não têm seletor conhecido daqui — se aparecerem na
   impressão, preciso do seletor exato deles para tratar à parte. */
@media print {
  .ing-no-print, .ing-hero-nav { display: none !important; }

  .ing-pub * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }

  .ing-hero {
    background: linear-gradient(135deg, #1e3a5f, #2c3e50) !important;
    padding: 32px 24px !important;
  }
  .ing-hero h1, .ing-hero p { color: #fff !important; }

  .ing-numeros-section { background: #2c3e50 !important; padding: 24px !important; }
  .ing-numero-card { border-color: rgba(255,255,255,.15) !important; }

  .ing-section { padding: 24px !important; }
  .ing-blocos-grid { display: block !important; }
  .ing-bloco {
    page-break-inside: avoid; break-inside: avoid;
    margin-bottom: 16px !important; box-shadow: none !important; border: 1px solid #ddd !important;
  }

  .ing-indicador-section { page-break-inside: avoid; break-inside: avoid; }

  @page { margin: 1.5cm; }
}
