

/* ======================== */
/* Paleta e Fontes Globais  */
/* ======================== */
:root {
  --verde: #3a8b6c;
  --azul-petroleo: #137880;
  --amarelo: #ffd166;
  --azul-claro: #38b7b3;
  --cinza-suave: #f6faf7;
}


/* Fonte */
body {
  font-family: 'Inter', Arial, Helvetica, sans-serif;
  background: var(--cinza-suave);
  color: #223a3a;
  margin: 0;
  padding-top: 200px; /* espaço do header fixo */
}


/* Links */
a {
  color: var(--azul-petroleo);
  text-decoration: none;
  transition: color 0.16s;
  text-decoration: none !important;
}
a:hover, a:focus {
  color: var(--verde);
  text-decoration: underline;
}


/* ======================== */
/* Navbar Bootstrap Custom  */
/* ======================== */
.navbar {
  background: #19403a;
  color: #ffffff;
  box-shadow: 0 4px 18px 0 rgba(20,100,80,0.10);
}
.navbar-brand img {
  background: #fff;
  border: 2px solid #3a8b6c33;
  padding: 2px;
  box-shadow: 0 2px 12px #31f30a;
}
.navbar .btn-success, .navbar .btn-cta {
  background: var(--verde);
  border: none;
  font-weight: bold;
  color: #fff;
  border-radius: 20px;
  box-shadow: 0 2px 8px #d4efdf7a;
  padding: 8px 22px;
}
.navbar .btn-success:hover, .navbar .btn-cta:hover {
  background: var(--azul-petroleo);
  color: #fff;
}
.navbar-nav .nav-link {
  margin-right: 2px;
  border-radius: 8px;
  transition: background 0.13s, color 0.14s;
  font-size: 1.09em;
  padding: 7px 15px;
}
.navbar-nav .nav-link:hover, .navbar-nav .nav-link:focus {
  background: #e8fff1;
  color: var(--verde);
  text-decoration: none !important;
}


/* ======================== */
/* Main Container           */
/* ======================== */
.container, .container-fluid {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 4px 24px #d4efdf33;
  padding: 24px 20px;
  margin-top: 22px;
}


@media (max-width: 992px) {
  .container, .container-fluid {
    padding: 12px 3vw;
  }
  body { padding-top: 100px; }
}


/* ======================== */
/* Botão WhatsApp Flutuante */
/* ======================== */
.whatsapp-float {
  position: fixed;
  bottom: 24px;
  right: 26px;
  z-index: 1049;
  background: #25d366;
  color: #fff;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  box-shadow: 0 4px 14px #c6f5e9b7;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2em;
  cursor: pointer;
  transition: box-shadow 0.16s, transform 0.13s;
}
.whatsapp-float:hover {
  box-shadow: 0 8px 28px #b0f7d9d8;
  transform: scale(1.07);
}


/* ======================== */
/* Títulos e Seções         */
/* ======================== */
h1, h2, h3 {
  font-family: 'Inter', Arial, sans-serif;
  font-weight: 700;
  color: var(--azul-petroleo);
  margin-bottom: 14px;
}
h1 { font-size: 2.4em; }
h2 { font-size: 1.8em; }
h3 { font-size: 1.25em; }


.section-title {
  font-size: 2em;
  margin: 36px 0 22px;
  color: var(--verde);
  letter-spacing: 1px;
}


.section {
  margin-bottom: 46px;
}


@media (max-width: 540px) {
  h1 { font-size: 1.43em; }
  h2 { font-size: 1.19em; }
  .section-title { font-size: 1.6em; }
  .container, .container-fluid { padding: 6px 2vw;}
}


/* ======================== */
/* Cards de Projetos/Eventos*/
/* ======================== */
.card {
  border: none;
  border-radius: 13px;
  box-shadow: 0 2px 18px #d4efdf33;
  margin-bottom: 24px;
  transition: box-shadow 0.18s, transform 0.13s;
}
.card:hover {
  box-shadow: 0 8px 38px #aadfc93a;
  transform: translateY(-3px) scale(1.013);
}
.card-title {
  color: var(--verde);
  font-weight: 600;
}
.card-text {
  color: #30493b;
}


/* ======================== */
/* Footer                   */
/* ======================== */
footer {
  margin-top: 42px;
  padding: 18px 0 8px;
  background: #f0f7f4;
  color: #78948b;
  font-size: 1.02em;
  text-align: center;
  border-top: 1px solid #e3e3e3;
  border-radius: 0 0 14px 14px;
}
footer a {
  color: var(--azul-petroleo);
  font-weight: 500;
  margin: 0 8px;
  text-decoration: none;
  transition: color 0.16s;
}
footer a:hover { color: var(--verde); }


/* Navbar mais justa/baixa */
.navbar {
  min-height: 46px !important;
  height: 46px !important;
  align-items: center;
  padding-bottom: 0 !important;
}


.navbar-brand {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-size: 1.05em;
  line-height: 46px;
  height: 46px;
}
.navbar .navbar-toggler {
  margin-top: 4px;
  margin-bottom: 4px;
}
.navbar .nav-link {
  padding-top: 9px !important;
  padding-bottom: 9px !important;
  line-height: 28px;
  font-size: 1em;
}
.navbar .btn, .navbar .btn-cta {
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.97em;
}




.projeto-detalhe .projeto-titulo {
  color: var(--verde);
  margin-top: 0;
  font-size: 2.2em;
}


.projeto-detalhe .projeto-info {
  color: #678;
  font-size: 1em;
  margin-bottom: 16px;
}


.projeto-detalhe .projeto-descricao {
  margin-top: 20px;
  color: #344a3f;
  font-size: 1.18em;
}


.comentarios .comentario {
  border-left: 4px solid var(--azul-claro);
  background: #f6faf7;
}


.comentarios .fw-bold {
  color: var(--azul-petroleo);
}


.impact-card {
  background: #eafff4;
  border-radius: 18px;
  box-shadow: 0 2px 16px #5cc4a73b;
  padding: 32px 18px 24px 18px;
  min-height: 155px;
  text-align: center;
  margin: 14px auto;
  transition: transform 0.22s, box-shadow 0.22s;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.impact-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin-bottom: 8px;
}
.impact-icon {
  font-size: 2.3em;
  color: #159859;
  flex-shrink: 0;
  margin-bottom: 0 !important;
  opacity: 0.95;
}
.impact-label {
  color: #0e4d3a;
  font-size: 1.22em;
  font-weight: 700;
  letter-spacing: -0.5px;
  text-align: left;
  line-height: 1.1;
}
.impact-bottom {
  margin-top: 10px;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 7px;
}
.impact-number {
  font-size: 2.15em;
  font-weight: 800;
  color: #13a76c;
  letter-spacing: -1px;
  line-height: 1.05;
}
.impact-unidade {
  color: #2d9376;
  font-size: 1.15em;
  font-weight: 600;
  margin-bottom: 3px;
  opacity: 0.86;
}
@media (max-width: 600px) {
  .impact-card {
    padding: 18px 6px 18px 6px;
    min-height: 120px;
  }
  .impact-label { font-size: 1em;}
  .impact-icon { font-size: 1.45em;}
  .impact-number { font-size: 1.23em;}
  .impact-unidade { font-size: 1em;}
}


.sobre-oscip {
  background: #f8fcfb;
  border-top: 2px solid #ccefe0;
  border-bottom: 2px solid #ccefe0;
}
.sobre-oscip h2 {
  color: #137659;
  font-weight: 800;
  letter-spacing: -0.5px;
  font-size: 1.6rem;
}
.institucional-info p {
  color: #223b36;
  margin-bottom: 10px;
  font-size: 1.09em;
}
.missao-visao p {
  margin-bottom: 8px;
  font-size: 1.08em;
}
.valores ul {
  padding-left: 22px;
  margin-top: 0;
  margin-bottom: 0;
}
.valores li {
  margin-bottom: 7px;
  font-size: 1.06em;
}
.valores b {
  color: #137659;
}
.sobre-oscip img {
  max-width: 88%;
  border-radius: 16px;
  box-shadow: 0 4px 18px #15985919;
}
@media (max-width: 800px) {
  .sobre-oscip .row { flex-direction: column-reverse;}
  .sobre-oscip img { margin-bottom: 22px; }
}


.sessao-eventos {
  background: #f6fcfa;
}
.sessao-eventos h2 {
  color: #137659;
  font-weight: bold;
  font-size: 1.6rem;
}
.evento-card.card {
  border-radius: 15px;
  border: none;
  background: #fff;
  transition: box-shadow .2s, transform .18s;
}
.evento-card.card:hover {
  box-shadow: 0 4px 16px #13765920;
  transform: translateY(-3px) scale(1.03);
}
.evento-card .card-img-top {
  border-radius: 15px 15px 0 0;
  object-fit: cover;
  max-height: 160px;
}
.evento-card .card-title {
  font-size: 1.2em;
  color: #159859;
  font-weight: 700;
}
.evento-card .evento-info {
  font-size: 0.97em;
  color: #267a66;
}
.evento-card .btn {
  border-radius: 8px;
  font-weight: 600;
}
@media (max-width: 800px) {
  .sessao-eventos .row { flex-direction: column; }
}


.evento-card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 2px 14px #c4f3e930;
  max-width: 720px;
  margin: 30px auto 24px;
  padding: 36px 28px 26px 28px;
}
.evento-card h2 {
  font-size: 2rem;
  color: #159859;
  font-weight: 800;
  margin-bottom: 0.85em;
  text-align: center;
}
.evento-img {
  display: block;
  max-width: 90%;
  margin: 0 auto 18px auto;
  border-radius: 9px;
  box-shadow: 0 3px 16px #b9e9c7a1;
}
.evento-info {
  list-style: none;
  padding: 0;
  margin-bottom: 14px;
}
.evento-info li {
  margin-bottom: 6px;
  color: #267668;
  font-size: 1.1em;
}
.evento-descricao {
  font-size: 1.05em;
  margin: 12px 0 18px 0;
  color: #444;
}


.evento-inscricao-box {
  text-align: center;
  margin-bottom: 16px;
}
.btn-inscrever, .btn-inscrito {
  background: #159859;
  color: #fff;
  padding: 0.6em 2em;
  border: none;
  border-radius: 20px;
  font-weight: bold;
  font-size: 1.12em;
  margin-bottom: 6px;
  box-shadow: 0 1px 6px #b9e9c7a1;
  transition: background .2s;
}
.btn-inscrever:hover { background: #137659; }
.btn-inscrito { background: #c5eccd; color: #267668; }


.evento-termo {
  margin-top: 7px;
  color: #797979;
  font-size: .94em;
  line-height: 1.4;
  max-width: 560px;
  margin-left: auto; margin-right: auto;
}


.evento-login-msg {
  background: #f2fff8;
  border-radius: 10px;
  padding: 16px;
  text-align: center;
}


.evento-comentarios {
  background: #fafefc;
  border-radius: 16px;
  padding: 22px 20px;
  margin-top: 26px;
  box-shadow: 0 1px 8px #d3f9e4a2;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.evento-comentarios h3 {
  text-align: center;
  color: #159859;
  font-weight: bold;
  margin-bottom: 16px;
}
.comentario-form textarea {
  width: 100%;
  border-radius: 9px;
  border: 1px solid #e1eee3;
  padding: 0.9em;
  margin-bottom: 8px;
}
.btn-comentar {
  background: #159859;
  color: #fff;
  border: none;
  border-radius: 14px;
  padding: 0.6em 1.5em;
  font-weight: bold;
  font-size: 1em;
  box-shadow: 0 1px 3px #b9e9c7a1;
}
.comentarios-lista { margin-top: 18px; }
.comentario-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  border-bottom: 1px solid #e7f7ef;
  padding-bottom: 8px;
  margin-bottom: 16px;
}
.comentario-foto {
  width: 44px;
  height: 44px;
  border-radius: 22px;
  object-fit: cover;
}
.comentario-conteudo {
  flex: 1;
}
.comentario-topo {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 2px;
}
.comentario-topo b { color: #197a5d; }
.comentario-texto { color: #222; font-size: 1em; }


.link-voltar {
  color: #159859;
  font-weight: bold;
  text-decoration: none;
  font-size: 1.1em;
}
.link-voltar:hover { text-decoration: underline; }


/* Responsivo */
@media (max-width: 700px) {
  .evento-card, .evento-comentarios { padding: 8vw 3vw; }
  .evento-card { max-width: 99%; }
}


.depoimentos-section {
  padding: 40px 0;
  background: #f9fdfb;
  min-height: 70vh;
}


.titulo-sessao {
  text-align: center;
  color: #159859;
  font-weight: 800;
  font-size: 2.2em;
  margin-bottom: 36px;
  letter-spacing: -1px;
}


.depoimentos-lista {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 34px;
}


.depoimento-card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 2px 16px #d2f6e080;
  max-width: 340px;
  min-width: 250px;
  padding: 30px 28px 20px 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition: transform .15s;
}
.depoimento-card:hover {
  transform: translateY(-8px) scale(1.025);
  box-shadow: 0 8px 22px #15985921;
}


.depoimento-topo {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 16px;
}


.depoimento-foto {
  width: 58px;
  height: 58px;
  border-radius: 29px;
  object-fit: cover;
  background: #e8f9f0;
  border: 2px solid #b5e5d0;
}
.fake-foto {
  background: #e0f5ea url('https://ui-avatars.com/api/?name=?&background=e0f5ea&color=159859&size=58') center/cover;
}


.depoimento-nome {
  font-weight: bold;
  color: #197a5d;
  font-size: 1.12em;
  margin-bottom: 3px;
}


.depoimento-cidade {
  color: #888;
  font-size: .96em;
  margin-left: 2px;
}


.depoimento-data {
  color: #b2b2b2;
  font-size: .93em;
}


.depoimento-texto {
  font-size: 1.14em;
  color: #202b28;
  margin: 0;
  font-style: italic;
  line-height: 1.5;
  border-left: 4px solid #15985922;
  padding-left: 14px;
  letter-spacing: -.3px;
}


.depoimentos-vazio {
  text-align: center;
  color: #bbb;
  font-size: 1.18em;
  width: 100%;
  margin-top: 46px;
}


/* Responsivo */
@media (max-width: 700px) {
  .depoimentos-lista { gap: 14px; }
  .depoimento-card { padding: 18px 8vw 12px 8vw; min-width: 0; }
}


.parceiros-section {
  background: #f6fcfa;
  padding: 48px 0 44px 0;
}


.parceiros-lista {
  display: flex;
  flex-wrap: wrap;
  gap: 36px;
  justify-content: center;
  margin-top: 18px;
}


.parceiro-card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 2px 10px #d6f6e160;
  width: 270px;
  padding: 22px 20px 18px 20px;
  text-align: center;
  position: relative;
  transition: transform .13s, box-shadow .13s;
}
.parceiro-card:hover {
  transform: translateY(-5px) scale(1.025);
  box-shadow: 0 7px 20px #2fa78b22;
}
.parceiro-logo img {
  max-width: 96px;
  max-height: 64px;
  margin-bottom: 14px;
  filter: grayscale(10%);
  transition: filter .15s;
}
.parceiro-card:hover .parceiro-logo img {
  filter: none;
}
.parceiro-nome {
  font-size: 1.11em;
  font-weight: bold;
  color: #159859;
  margin-bottom: 5px;
}
.parceiro-desc {
  font-size: 0.98em;
  color: #222;
  margin-bottom: 12px;
  min-height: 46px;
}
.parceiro-meta {
  margin-bottom: 7px;
  font-size: .98em;
  color: #267668;
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.parceiro-site a {
  color: #2a8f49;
  font-weight: 600;
  text-decoration: none;
}
.parceiro-site a:hover {
  text-decoration: underline;
}
.parceiro-badge {
  background: #ffe57f;
  color: #a17700;
  border-radius: 7px;
  padding: 2px 10px;
  font-size: 0.95em;
  margin-top: 7px;
  display: inline-block;
  font-weight: 600;
  letter-spacing: .5px;
}
.parceiro-destaque {
  border: 2px solid #ffe57f;
  box-shadow: 0 4px 22px #ffe57f55;
}


.parceiros-vazio {
  text-align: center;
  color: #bbb;
  font-size: 1.15em;
  width: 100%;
  margin-top: 40px;
}


@media (max-width: 750px) {
  .parceiros-lista { gap: 16px; }
  .parceiro-card { width: 96vw; max-width: 350px; }
}


.transparencia-section {
  background: #f7fbf7;
  border-radius: 18px;
  padding: 24px 0 28px 0;
  margin: 24px auto;
  max-width: 960px;
}


.titulo-sessao {
  font-size: 2.1em;
  font-weight: bold;
  text-align: center;
  color: #18996a;
  margin-bottom: 18px;
}


.transp-desc {
  text-align: center;
  color: #127f5a;
  font-size: 1.1em;
  margin-bottom: 18px;
}


.transp-faq-container {
  max-width: 800px;
  margin: 32px auto 0 auto;
}


.transp-faq-item { margin-bottom: 13px; }


.transp-faq-question {
  width: 100%;
  text-align: left;
  background: #f3fff6;
  border: none;
  border-radius: 10px;
  font-size: 1.19em;
  font-weight: bold;
  padding: 18px 22px;
  margin: 0;
  cursor: pointer;
  transition: background .18s;
  outline: none;
  color: #18996a;
  display: flex;
  justify-content: space-between;
  align-items: center;
}


.transp-faq-question.open,
.transp-faq-question:focus {
  background: #e2ffe2;
}


.transp-faq-icon {
  font-size: 1.2em;
  margin-left: 16px;
  color: #159859;
}


.transp-faq-answer {
  padding: 14px 28px 16px 36px;
  background: #fff;
  border-radius: 0 0 10px 10px;
  display: none;
  transition: .2s;
  margin-top: -6px;
}
.transp-explicacao {
  margin: 7px 0 14px 0;
  color: #468468;
  font-size: 1em;
}
.transp-doc-list { margin-bottom: 0; padding-left: 10px;}
.transp-doc-list a { color: #18996a; }
.transp-doc-list a:hover { text-decoration: underline; }


.contato-section {
  background: #f7fbf7;
  border-radius: 18px;
  padding: 34px 0 30px 0;
  margin: 32px auto;
  max-width: 980px;
}


.contato-row {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: center;
  align-items: flex-start;
}


.contato-form-card,
.contato-whatsapp-card {
  background: #fff;
  border-radius: 13px;
  box-shadow: 0 2px 14px #0001;
  padding: 32px 26px;
  max-width: 370px;
  min-width: 280px;
  flex: 1 1 320px;
}


.contato-form-card form .form-group { margin-bottom: 15px; }
.contato-form-card input,
.contato-form-card textarea,
.contato-form-card select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #d3d3d3;
  border-radius: 6px;
  margin-top: 2px;
  font-size: 1em;
}


.contato-form-card label {
  display: block;
  font-weight: 500;
  color: #16845a;
  margin-bottom: 2px;
}


.btn-contato {
  background: #18996a;
  color: #fff;
  border: none;
  border-radius: 7px;
  padding: 10px 0 10px 0;
  width: 100%;
  font-weight: bold;
  font-size: 1.07em;
  cursor: pointer;
  transition: background .14s;
}
.btn-contato:hover { background: #116a48; }


.contato-success {
  background: #e2ffe2;
  color: #16845a;
  font-weight: bold;
  text-align: center;
  border-radius: 7px;
  padding: 18px;
  margin-bottom: 12px;
}


.contato-whatsapp-card {
  text-align: center;
  border: 2px dashed #96ecc1;
}
.contato-ou {
  margin-bottom: 16px;
  color: #16845a;
}
.btn-whatsapp {
  display: inline-block;
  background: #25d366;
  color: #fff;
  font-weight: 700;
  font-size: 1.1em;
  padding: 12px 18px;
  border-radius: 7px;
  text-decoration: none;
  margin-bottom: 18px;
  transition: background .14s;
}
.btn-whatsapp:hover { background: #159859; }
.wa-icone {
  width: 25px;
  vertical-align: middle;
  margin-right: 6px;
}
.contato-info {
  margin-top: 18px;
  color: #3a6353;
  font-size: 0.98em;
}
.contato-info a { color: #159859; }


.contato-side-info .email-info {
  word-break: break-all;
}


.contato-info {
  word-break: break-word;    /* Quase sempre resolve para e-mails longos */
}
.email-info {
  word-break: break-all;
}




.doe-agora-section {
  background: #f4fff6;
  padding: 54px 0 40px 0;
  border-radius: 16px;
  box-shadow: 0 2px 18px #e6ffe6;
  margin: 32px auto 0;
  max-width: 900px;
}
.doe-agora-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.doe-info { text-align: center; }
.doe-buttons {
  margin: 16px 0 18px 0;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}
.btn-doar-landing {
  background: #28b36b;
  color: #fff;
  border-radius: 8px;
  padding: 10px 30px;
  font-weight: bold;
  font-size: 1.16em;
  transition: background .15s;
}
.btn-doar-landing:hover { background: #159859; color: #fff; }
.btn-whatsapp-doe {
  background: #22d366;
  color: #fff;
  border-radius: 8px;
  padding: 10px 24px;
  font-weight: 500;
  font-size: 1.09em;
  border: none;
  transition: background .15s;
}
.btn-whatsapp-doe:hover { background: #21b55a; }
.doe-pix {
  margin-top: 18px;
  font-size: 1.08em;
}
.btn-pix-copiar {
  margin-left: 8px;
  font-size: .98em;
  padding: 3px 13px;
  background: #28b36b;
  color: #fff;
  border-radius: 6px;
  border: none;
  font-weight: 600;
  cursor: pointer;
  transition: background .18s;
}
.btn-pix-copiar:active { background: #159859; }
.doe-qrcode {
  display: block;
  margin: 18px auto 0;
  width: 110px;
  border-radius: 8px;
  background: #fff;
  padding: 4px;
  box-shadow: 0 2px 6px #e2e2e2;
}
@media (max-width: 600px) {
  .doe-agora-section { padding: 38px 0 24px; }
  .doe-buttons { flex-direction: column; gap: 12px; }
  .doe-pix { font-size: .98em; }
}


.bloco-doacoes {
  background: #f7faf8;
  padding: 60px 0 40px 0;
  text-align: center;
}
.bloco-doacoes h2 {
  font-size: 2.1em;
  font-weight: bold;
  margin-bottom: 8px;
  color: #195442;
}
.doacoes-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 30px 0 28px 0;
}
.doacao-card {
  background: #fff;
  border-radius: 10px;
  padding: 22px 20px 16px 20px;
  box-shadow: 0 1px 6px #e1e8e2;
  width: 170px;
  text-decoration: none;
  color: #195442;
  transition: box-shadow .18s, transform .16s;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.08em;
}
.doacao-card:hover {
  box-shadow: 0 4px 18px #b7e2cf;
  transform: translateY(-3px) scale(1.04);
}
.doacao-card .valor {
  font-size: 1.15em;
  font-weight: 600;
  margin-bottom: 8px;
  color: #159859;
}
.doacao-card .b-pagseguro {
  font-size: 0.98em;
  background: #f3f8f4;
  padding: 3px 9px;
  border-radius: 7px;
  color: #149b50;
  margin-top: 4px;
}
.pix-bloco {
  background: #fff;
  border-radius: 10px;
  margin: 28px auto 0 auto;
  padding: 18px 30px 14px 30px;
  max-width: 330px;
  box-shadow: 0 1px 6px #e1e8e2;
  display: flex;
  align-items: center;
  gap: 22px;
  justify-content: center;
  flex-wrap: wrap;
}
.pix-bloco small {
  display: block;
  color: #7aa586;
  margin-top: 7px;
}
.pix-copiar {
  margin-left: 10px;
  font-size: 0.99em;
  padding: 3px 10px;
  border: none;
  border-radius: 5px;
  background: #e2fbe4;
  color: #159859;
  cursor: pointer;
}
.pix-copiar:active, .pix-copiar:focus {
  background: #c2f2c4;
}
@media (max-width: 650px) {
  .doacoes-cards {
    flex-direction: column;
    align-items: center;
    gap: 18px;
  }
  .pix-bloco {
    flex-direction: column;
    max-width: 95vw;
    padding: 18px 12px 10px 12px;
  }
}




.container-voluntario {
  max-width: 880px;
  margin: 32px auto;
  padding: 22px;
  background: #f8faf8;
  border-radius: 18px;
  box-shadow: 0 1px 14px #e6f5eb4c;
}
.voluntario-profile-card {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 1px 6px #ecf9f1;
  padding: 24px;
}
.profile-photo img {
  width: 110px;
  height: 110px;
  border-radius: 80px;
  object-fit: cover;
  box-shadow: 0 0 0 4px #c6f4e0;
  border: 2px solid #a3e7c7;
}
.profile-data h2 {margin-bottom: 2px;}
.profile-data p {margin-bottom: 5px;}
.voluntario-dashboard {
  display: flex;
  gap: 38px;
  margin-left: auto;
  align-items: center;
}
.voluntario-dashboard div {
  text-align: center;
  background: #f3fff6;
  border-radius: 8px;
  padding: 8px 20px;
  min-width: 80px;
}
.voluntario-dashboard b {font-size: 1.5em; color: #179c52;}
.voluntario-extras {
  margin-top: 30px;
}
.voluntario-list {
  list-style: none;
  padding-left: 0;
}
.voluntario-list li {
  padding: 7px 0;
  border-bottom: 1px solid #ebebeb;
}
.voluntario-list a.btn-link {font-size:0.95em; color:#159859;}
.voluntario-list a.btn-link:hover {text-decoration:underline;}


.account-form-container {
    max-width: 430px;
    margin: 55px auto 40px auto;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 5px 22px #5ad3a126, 0 1.5px 7px #1a4c4122;
    padding: 36px 32px 30px 32px;
    min-height: 260px;
}
.account-form-container h2 {
    text-align: center;
    font-weight: 700;
    font-size: 2em;
    color: #159859;
    margin-bottom: 25px;
    letter-spacing: -0.5px;
}
.account-form-container form {
    margin-bottom: 8px;
}
.account-form-container .btn, .account-form-container button[type="submit"] {
    width: 100%;
    border-radius: 22px;
    background: #159859;
    color: #fff;
    font-weight: bold;
    padding: 12px 0;
    margin-top: 16px;
    margin-bottom: 6px;
    font-size: 1.08em;
    border: none;
    transition: background .14s;
    box-shadow: 0 2px 12px #127f5a3b;
}
.account-form-container .btn:hover, .account-form-container button[type="submit"]:hover {
    background: #117e49;
}
.account-form-container p {
    text-align: center;
    color: #4a715d;
}
.account-form-container a {
    color: #159859;
    text-decoration: underline;
}
.account-form-container a:hover {
    color: #0e5d3c;
}
.account-success {
    color: #18996a;
    text-align: center;
    font-size: 1.11em;
    margin-bottom: 18px;
}
.account-error {
    color: #c24444;
    text-align: center;
    font-size: 1.09em;
    margin-bottom: 16px;
}

/* ==== AJUSTES FINAIS DE RESPONSIVIDADE E TIPOGRAFIA ==== */

@media (max-width: 600px) {
  html, body {
    font-size: 17px !important;
    padding-top: 70px !important;
  }

  h1 { font-size: 1.7em !important; }
  h2 { font-size: 1.25em !important; }
  h3 { font-size: 1.09em !important; }
  .section-title { font-size: 1.07em !important; }
  
  .container, .container-fluid, .bloco-doacoes, .contato-section, .sobre-oscip, .transparencia-section {
    padding: 12px 2vw !important;
    margin-top: 8px !important;
    border-radius: 10px !important;
  }

  .card, .evento-card, .depoimento-card, .parceiro-card, .doacao-card {
    padding: 10px 3vw 18px 3vw !important;
    margin-bottom: 16px !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 10px #c4f3e950 !important;
    max-width: 98vw !important;
    min-width: unset !important;
    width: 99vw !important;
  }

  .doacoes-cards, .depoimentos-lista, .parceiros-lista {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
  }

  .btn, .btn-doar-landing, .btn-whatsapp, .btn-contato, .btn-inscrever, .btn-inscrito {
    font-size: 1.15em !important;
    padding: 13px 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    border-radius: 10px !important;
  }

  .pix-bloco {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding: 12px 8px 8px 8px !important;
    max-width: 95vw !important;
  }

  .navbar-brand img {
    height: 34px !important;
    max-height: 34px !important;
  }
  .navbar {
    min-height: 40px !important;
    padding-bottom: 0 !important;
  }
  .navbar-nav .nav-link {
    font-size: 1em !important;
    padding: 13px 15px !important;
    margin-right: 0 !important;
    text-align: center !important;
  }

  footer {
    padding: 18px 2vw 6px 2vw !important;
    font-size: 1em !important;
  }
}

/* Para dispositivos muito pequenos (<400px) */
@media (max-width: 400px) {
  html, body {
    font-size: 16px !important;
  }
  h1 { font-size: 1.25em !important; }
  h2 { font-size: 1.05em !important; }
}

.pix-bloco > div {
  display: flex;
  flex-direction: column;
  align-items: center; /* Isso centraliza o texto e botão abaixo do QR */
  justify-content: center;
}

.pix-bloco img {
  display: block;
  margin: 0 auto;
}

@media (max-width: 650px) {
  .pix-bloco {
    flex-direction: column;
    max-width: 95vw;
    padding: 18px 12px 10px 12px;
    align-items: center; /* garante tudo no centro */
    gap: 8px;
  }
  .pix-bloco img {
    margin-bottom: 10px;
  }
}

