/* Vox Virtuosa: cores tiradas do logo */
:root {
  --vox-azul: #0b2b8f;
  --vox-azul-escuro: #071d63;
  --vox-celeste: #2a9fd6;
  --vox-celeste-claro: #e8f4fb;
  --vox-texto: #1c2333;
  --vox-suave: #5b6478;
  --vox-linha: #e3e7ef;
  --vox-fundo-alt: #f5f7fb;

  --bs-body-font-family: "Barlow", system-ui, sans-serif;
  --bs-body-color: var(--vox-texto);
  --bs-link-color-rgb: 11, 43, 143;
  --bs-link-hover-color-rgb: 7, 29, 99;
}

body { font-size: 1.0625rem; line-height: 1.65; background: #fff; }

h1, h2, h3, .titulo {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700;
  color: var(--vox-azul);
  line-height: 1.1;
  letter-spacing: .01em;
}

.chapeu {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .9rem;
  color: var(--vox-celeste);
  margin-bottom: .5rem;
}

.secao { padding: 5rem 0; }
.secao-alt { background: var(--vox-fundo-alt); }
.secao-titulo { font-size: clamp(2rem, 4vw, 2.75rem); margin-bottom: 1rem; }

/* Topo */
.topo { background: #fff; border-bottom: 1px solid var(--vox-linha); }
.topo .navbar { padding: .5rem 0; }
.topo .nav-link {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--vox-azul);
  padding: .5rem .9rem !important;
}
.topo .nav-link:hover, .topo .nav-link.active { color: var(--vox-celeste); }
.navbar-toggler { border: 0; font-size: 2rem; color: var(--vox-azul); }
.navbar-toggler:focus { box-shadow: none; }

.btn-doe, .btn-vox {
  background: var(--vox-azul);
  color: #fff;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  border-radius: 999px;
  padding: .55rem 1.4rem;
  border: 2px solid var(--vox-azul);
}
.btn-doe:hover, .btn-vox:hover { background: var(--vox-azul-escuro); border-color: var(--vox-azul-escuro); color: #fff; }
.btn-vox-contorno {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  border-radius: 999px;
  padding: .55rem 1.4rem;
  border: 2px solid var(--vox-azul);
  color: var(--vox-azul);
}
.btn-vox-contorno:hover { background: var(--vox-azul); color: #fff; }
.btn-claro { background: #fff; color: var(--vox-azul); border-color: #fff; }
.btn-claro:hover { background: var(--vox-celeste-claro); color: var(--vox-azul); border-color: var(--vox-celeste-claro); }

/* Abertura */
.abertura { padding: 4rem 0 5rem; }
.abertura h1 { font-size: clamp(2.6rem, 6vw, 4.25rem); margin-bottom: 1.25rem; }
.abertura .lead { color: var(--vox-suave); font-size: 1.2rem; max-width: 34rem; }
.abertura-foto {
  border-radius: 1.25rem;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  box-shadow: 0 1.5rem 3rem -1.5rem rgba(7, 29, 99, .45);
}
.abertura-foto img { width: 100%; height: 100%; object-fit: cover; }

/* Faixa azul */
.faixa { background: var(--vox-azul); color: #fff; padding: 3.5rem 0; }
.faixa p { font-size: 1.3rem; max-width: 52rem; margin: 0; }
.faixa h2, .faixa .titulo { color: #fff; }

/* Pilares em lista numerada, sem cartão */
.pilares { list-style: none; padding: 0; margin: 0; counter-reset: pilar; }
.pilares li {
  counter-increment: pilar;
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  gap: 0 1rem;
  padding: 1.5rem 0;
  border-top: 1px solid var(--vox-linha);
}
.pilares li::before {
  content: "0" counter(pilar);
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700;
  font-size: 2.25rem;
  color: var(--vox-celeste);
  line-height: 1;
  grid-row: span 2;
}
.pilares h3 { font-size: 1.5rem; margin: 0 0 .25rem; }
.pilares p { margin: 0; color: var(--vox-suave); }

.numero { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 3.5rem; color: var(--vox-azul); line-height: 1; }
.numero-rotulo { color: var(--vox-suave); font-size: .95rem; }

.citacao {
  font-size: 1.35rem;
  font-style: italic;
  color: var(--vox-azul-escuro);
  border-left: 4px solid var(--vox-celeste);
  padding-left: 1.25rem;
  margin: 1.5rem 0;
}

.foto-arredondada { border-radius: 1rem; width: 100%; height: 100%; object-fit: cover; }

/* Notícias */
.noticia-card { position: relative; height: 100%; }
.noticia-card .capa { aspect-ratio: 4 / 3; overflow: hidden; border-radius: .9rem; background: var(--vox-fundo-alt); }
.noticia-card .capa img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.noticia-card:hover .capa img { transform: scale(1.04); }
.noticia-card .meta { font-size: .85rem; color: var(--vox-suave); margin: 1rem 0 .35rem; }
.noticia-card .meta .categoria { color: var(--vox-celeste); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.noticia-card h3 { font-size: 1.45rem; margin-bottom: .5rem; }
.noticia-card h3 a { color: inherit; text-decoration: none; }
.noticia-card h3 a::after { content: ""; position: absolute; inset: 0; }
.noticia-card:hover h3 a { color: var(--vox-celeste); }
.noticia-card p { color: var(--vox-suave); font-size: .98rem; margin: 0; }

.artigo { max-width: 46rem; margin: 0 auto; }
.artigo h1 { font-size: clamp(2.2rem, 5vw, 3.2rem); }
.artigo .capa-grande { border-radius: 1rem; width: 100%; max-height: 28rem; object-fit: cover; margin: 1.5rem 0 2rem; }
.artigo .corpo { font-size: 1.15rem; }

/* Na mídia */
.midia-lista { list-style: none; padding: 0; margin: 0; }
.midia-lista li { padding: 1.25rem 0; border-top: 1px solid rgba(255, 255, 255, .2); display: flex; gap: 1.5rem; align-items: baseline; flex-wrap: wrap; }
.midia-lista .veiculo { font-family: "Barlow Condensed", sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--vox-celeste); min-width: 9rem; }
.midia-lista a, .midia-lista span.titulo-midia { color: #fff; font-size: 1.15rem; }

/* Cabeçalho das páginas internas */
.cabecalho-pagina { background: var(--vox-fundo-alt); padding: 3.5rem 0; }
.cabecalho-pagina h1 { font-size: clamp(2.4rem, 5vw, 3.5rem); margin: 0; }
.cabecalho-pagina p { color: var(--vox-suave); max-width: 40rem; margin: .75rem 0 0; font-size: 1.15rem; }

/* Equipe */
.avatar {
  width: 4.5rem; height: 4.5rem; border-radius: 50%;
  background: var(--vox-celeste-claro); color: var(--vox-azul);
  display: grid; place-items: center;
  font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 1.6rem;
  flex-shrink: 0;
}
.pessoa h3 { font-size: 1.5rem; margin: 0; }
.pessoa .funcao { color: var(--vox-celeste); font-weight: 600; font-size: .95rem; }
.pessoa p { color: var(--vox-suave); margin: .5rem 0 0; }

/* Transparência */
.accordion { --bs-accordion-active-bg: var(--vox-celeste-claro); --bs-accordion-active-color: var(--vox-azul); --bs-accordion-btn-focus-box-shadow: 0 0 0 .2rem rgba(42, 159, 214, .3); }
.accordion-button { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 1.5rem; color: var(--vox-azul); }
.doc-lista a { display: flex; align-items: center; gap: .75rem; padding: .75rem 0; border-bottom: 1px solid var(--vox-linha); text-decoration: none; }
.doc-lista a:hover { color: var(--vox-celeste); }
.doc-lista .bi { font-size: 1.4rem; color: #c0392b; }
.doc-lista small { color: var(--vox-suave); margin-left: auto; }

/* Doação */
.bloco-doacao { border: 1px solid var(--vox-linha); border-radius: 1rem; padding: 2rem; height: 100%; }
.bloco-doacao h2 { font-size: 1.75rem; }
.chave-pix { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; background: var(--vox-fundo-alt); border-radius: .6rem; padding: .75rem 1rem; font-weight: 600; word-break: break-all; }
.dados-banco dt { font-weight: 500; color: var(--vox-suave); }
.dados-banco dd { font-weight: 600; margin-bottom: .6rem; }

/* Contato */
.canal { display: flex; gap: 1rem; align-items: center; padding: 1.25rem; border: 1px solid var(--vox-linha); border-radius: 1rem; text-decoration: none; color: var(--vox-texto); height: 100%; }
.canal:hover { border-color: var(--vox-celeste); color: var(--vox-texto); }
.canal .bi { font-size: 2rem; color: var(--vox-azul); }
.canal strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 1.3rem; color: var(--vox-azul); }

/* Chamada para doar */
.chamada-doar { background: var(--vox-azul); color: #fff; border-radius: 1.25rem; padding: 3rem; }
.chamada-doar h2 { color: #fff; font-size: clamp(1.9rem, 4vw, 2.6rem); }
.chamada-doar p { color: rgba(255, 255, 255, .85); margin: 0; }

/* Rodapé */
.rodape { background: var(--vox-azul-escuro); color: rgba(255, 255, 255, .8); padding: 4rem 0 2rem; margin-top: 5rem; }
.rodape a { color: #fff; text-decoration: none; }
.rodape a:hover { color: var(--vox-celeste); }
.rodape li { margin-bottom: .5rem; }
.rodape-logo { background: #fff; border-radius: .75rem; padding: .4rem; width: 84px; height: auto; }
.rodape-titulo { font-size: 1.25rem; color: #fff; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 1rem; }
.rodape-base { border-top: 1px solid rgba(255, 255, 255, .15); margin: 3rem 0 0; padding-top: 1.5rem; font-size: .9rem; }

@media (max-width: 991.98px) {
  .topo .navbar-collapse { padding: .5rem 0 1rem; }
  .secao { padding: 3.5rem 0; }
  .abertura { padding: 2.5rem 0 3.5rem; }
  .chamada-doar { padding: 2rem 1.5rem; }
}
.rodape a { overflow-wrap: anywhere; }
