/* ==========================================================================
   Página da ONG ({slug}.fortuna.ong.br)
   Réplica do modelo aurumarcana.com.br/lpong (Instituto Semente Viva)
   Mesmo sistema de tokens da home + paleta própria da ONG (azul/laranja).
   Root = 18px (1rem = 18px). PRIMEIRO PASSE — refinar por seção.
   ========================================================================== */

@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/cormorant-400.woff2") format("woff2");}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/cormorant-700.woff2") format("woff2");}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/jost-400.woff2") format("woff2");}
@font-face{font-family:"Jost";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/jost-700.woff2") format("woff2");}

:root{
  --font-primary:"Cormorant Garamond",serif;
  --font-secondary:"Jost",sans-serif;
  --font-base:clamp(14px, 0.449vw + 12.25px, 18px);

  --font-size-8:0.4444rem; --font-size-12:0.6667rem; --font-size-16:0.8889rem; --font-size-18:1rem;
  --font-size-20:1.1111rem; --font-size-22:1.2222rem; --font-size-24:1.3333rem; --font-size-26:1.4444rem;
  --font-size-32:1.7778rem; --font-size-36:2rem; --font-size-40:2.2222rem; --font-size-48:2.6667rem;
  --font-size-52:2.8889rem; --font-size-64:3.5556rem; --font-size-72:4rem; --font-size-96:5.3333rem;

  --lineheight-12:0.6667rem; --lineheight-16:0.8889rem; --lineheight-18:1rem; --lineheight-20:1.1111rem;
  --lineheight-22:1.2222rem; --lineheight-24:1.3333rem; --lineheight-26:1.4444rem; --lineheight-30:1.6667rem;
  --lineheight-36:2rem; --lineheight-40:2.2222rem; --lineheight-44:2.4444rem; --lineheight-52:2.8889rem;
  --lineheight-56:3.1111rem; --lineheight-68:3.7778rem; --lineheight-76:4.2222rem; --lineheight-100:5.5556rem;

  --spacing-4:0.2222rem; --spacing-8:0.4444rem; --spacing-10:0.56rem; --spacing-12:0.6667rem;
  --spacing-16:0.8889rem; --spacing-18:1rem; --spacing-20:1.11rem; --spacing-24:1.3333rem; --spacing-30:1.67rem;
  --spacing-32:1.7778rem; --spacing-36:2rem; --spacing-40:2.2222rem; --spacing-48:2.6667rem; --spacing-56:3.1111rem;
  --spacing-80:4.4444rem; --spacing-100:5.56rem; --spacing-120:6.6667rem; --spacing-176:9.7778rem; --spacing-240:13.3333rem;

  --radius-8:0.4444rem; --radius-10:0.55rem; --radius-16:0.8889rem; --radius-20:1.2rem; --radius-32:1.7778rem; --radius-40:3rem; --radius-64:3.5556rem;

  /* escalas white/black/grey */
  --colors-white-1-100:#ffffff; --colors-white-1-80:#f8f9facc; --colors-white-1-60:#f8f9fa99;
  --colors-white-1-40:#f8f9fa66; --colors-white-1-20:#f8f9fa33; --colors-white-1-10:#f8f9fa1a; --colors-white-1-5:#f8f9fa0d;
  --colors-black-1-100:#111111; --colors-black-1-80:#111111cc; --colors-black-1-60:#11111199;
  --colors-black-1-40:#11111166; --colors-black-1-20:#11111133; --colors-black-1-10:#1111111a; --colors-black-1-0:#11111100;
  --colors-grey-1-20:#61616133;

  /* PALETA DA ONG (Semente Viva) — na Fase 2 vira dinâmica por ONG */
  --colors-ong-1-100:#103978; /* azul (fundo) */
  --colors-ong-2-100:#e9925c; /* laranja (acento) */
  --colors-ong-3-100:#6d4932; /* marrom */
  --colors-ong-1-90:#103978e6; --colors-ong-1-70:#103978b3;
  --colors-amber-1-100:#eba615; --colors-antique-gold-1-100:#c69e4a;

  --width:100%;
  --padding-lateral:clamp(20px,3.92vw + 4.7px,80px);
}

html{font-size:var(--font-base);scroll-behavior:smooth;overflow-x:clip;}
*,*::before,*::after{box-sizing:border-box;}
body{margin:0;font-family:var(--font-secondary);font-size:var(--font-base);line-height:1.7;
  color:var(--colors-white-1-80);background-color:var(--colors-ong-1-100);-webkit-font-smoothing:antialiased;overflow-x:clip;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
p{margin:0;}
h1,h2,h3,h4{margin:0;font-family:var(--font-primary);color:var(--colors-white-1-100);font-weight:400;}
h1 em,h2 em{font-style:italic;font-weight:400;color:inherit;}

/* ============ HELPERS ============ */
.container{width:var(--width);margin:0 auto;padding-inline:var(--padding-lateral);}
.section{padding-block:var(--spacing-120);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-8);font-family:var(--font-secondary);cursor:pointer;transition:filter .2s ease,background .2s ease,color .2s ease;}
.btn--primary{background:var(--colors-ong-2-100);color:var(--colors-white-1-100);border:none;border-radius:var(--radius-8);padding:var(--spacing-16) var(--spacing-24);font-size:var(--font-size-18);text-transform:uppercase;letter-spacing:.04em;}
.btn--primary:hover{filter:brightness(1.06);}
.btn--ghost{background:transparent;color:var(--colors-white-1-100);border:1px solid var(--colors-white-1-100);border-radius:var(--radius-8);padding:var(--spacing-16) var(--spacing-24);font-size:var(--font-size-18);line-height:var(--lineheight-22);text-transform:uppercase;}
.btn--ghost:hover{border-color:var(--colors-white-1-100);}

/* ============ SOMBREAMENTO POR SEÇÃO (overlays sobre base #103978) ============
   Customização por-ONG (perfil Customizado): --ong-{secao}-fundo/-titulo/-texto,
   só declaradas no <style> inline quando a ONG sobrescreve aquela seção
   (ver App\Support\LayoutOng). Sem sobrescrita, cai no valor fixo de sempre. */
.ong-stats{background:var(--ong-numeros-fundo, rgba(17,17,17,.6));}
.ong-about{background:var(--ong-sobre-fundo, rgba(17,17,17,.4));}
.ong-methods{background:var(--ong-metodologia-fundo, rgba(17,17,17,.6));}
.ong-donate{background:var(--ong-doacao-fundo, rgba(17,17,17,.4));}
.ong-transp{background:var(--ong-transparencia-fundo, rgba(17,17,17,.6));}
.ong-faq{background:var(--ong-faq-fundo, rgba(17,17,17,.2));}

/* ============ HEADER (barra da ONG) ============ */
.ong-header{position:absolute;top:0;left:0;right:0;z-index:10;width:var(--width);background-color:var(--colors-black-1-40);border-bottom:1px solid var(--colors-white-1-20);}
.ong-header__bar{position:relative;z-index:2;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--spacing-24);padding-block:var(--spacing-32);}
.ong-header__brand{display:flex;flex-direction:row;align-items:center;}
.ong-header__star{width:16px;height:auto;flex-shrink:0;margin-right:var(--spacing-8);}
.ong-header__name{position:relative;color:var(--colors-white-1-100);font-family:var(--font-secondary);font-size:var(--font-size-18);line-height:var(--lineheight-22);text-align:left;font-weight:400;}
.ong-header__sep{color:var(--colors-white-1-40);font-size:var(--font-size-12);line-height:1;margin-inline:var(--spacing-16);}
.ong-badge{display:inline-block;background:transparent;font-size:var(--font-size-12);font-weight:400;color:var(--colors-white-1-40);white-space:nowrap;position:relative;}
.ong-header .btn--primary{padding:var(--spacing-8) var(--spacing-16);font-size:var(--font-size-18);line-height:var(--lineheight-22);white-space:nowrap;}

/* ============ HERO ============ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.ong-hero{position:relative;padding-top:var(--spacing-240);
  background-size:cover;overflow:hidden;}
.ong-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(17, 17, 17, var(--ong-hero-overlay-alpha, .85)) 0%, var(--ong-hero-fundo, var(--colors-ong-1-100)) 100%);z-index:1;pointer-events:none;}
/* Hero compacto de /campanhas e /campanhas/{slug}: mesma foto e mesma intensidade
   de escurecimento do hero da home (--ong-hero-overlay-alpha, um controle só),
   mas a cor final do degradê segue o "fundo" da PRÓPRIA seção (Página de
   Campanhas / Página da Campanha) — não o --ong-hero-fundo da home. Sem isso,
   mudar a cor do hero da home mudaria essas duas páginas junto, sem controle
   independente. Mesma especificidade da regra acima; ganha por vir depois. */
.ong-hero--campanhas::before{background:linear-gradient(180deg, rgba(17, 17, 17, var(--ong-hero-overlay-alpha, .85)) 0%, var(--ong-campanhas-fundo, var(--colors-ong-1-100)) 100%);}
.ong-hero--campanhadetalhe::before{background:linear-gradient(180deg, rgba(17, 17, 17, var(--ong-hero-overlay-alpha, .85)) 0%, var(--ong-campanhadetalhe-fundo, var(--colors-ong-1-100)) 100%);}
.ong-hero__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;padding-top:var(--spacing-80);padding-bottom:var(--spacing-80);}
.ong-hero__content{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;align-self:stretch;width:min(46rem, 100%);gap:var(--spacing-40);z-index:0;}
.ong-hero__eyebrow{display:flex;align-items:center;gap:var(--spacing-24);font-family:var(--font-secondary);font-size:var(--font-size-16);text-transform:uppercase;color:var(--ong-hero-eyebrow, var(--colors-ong-2-100));}
.ong-hero__eyebrow::before{content:'';display:inline-block;width:32px;height:1px;background:var(--ong-hero-eyebrow, var(--colors-ong-2-100));}
.ong-hero h1{font-size:var(--font-size-72);line-height:var(--lineheight-76);color:var(--ong-hero-titulo, var(--colors-white-1-100));}
.ong-hero h1 em{color:var(--ong-hero-destaque, var(--colors-amber-1-100));}
.ong-hero__lead{font-family:var(--font-secondary);font-size:var(--font-size-22);line-height:var(--lineheight-26);color:var(--ong-hero-texto, var(--colors-white-1-40));}
.ong-hero__actions{column-gap:var(--spacing-24);display:flex;align-self:flex-start !important;flex-direction:row;}
.ong-hero .btn--primary{padding:var(--spacing-16) var(--spacing-32);font-size:var(--font-size-18);line-height:var(--lineheight-22);gap:10px;}
.ong-hero .btn--primary .btn__heart{width:1rem;height:1.1rem;flex-shrink:0;}
@media(max-width:1500px){.ong-hero__actions .btn{padding-right:var(--spacing-20);padding-left:var(--spacing-20);}}
@media(max-width:417px){.ong-hero__actions{flex-direction:column;row-gap:var(--spacing-24);}}

/* ============ NÚMEROS ============ */
.ong-stats .container{display:grid;grid-template-columns:repeat(4,1fr);}
.ong-stat{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-80);border-right:0 solid var(--colors-white-1-10);}
@media(min-width:1280px){.ong-stat:nth-child(-n+3){border-right-width:1px;}}
.ong-stat__text{text-align:center;}
.ong-stat__num{font-family:var(--font-primary);color:var(--colors-ong-2-100);font-size:var(--font-size-48);line-height:var(--lineheight-52);text-align:center;}
.ong-stat__label{color:var(--ong-numeros-titulo, var(--colors-white-1-100));font-size:var(--font-size-22);line-height:var(--lineheight-26);font-family:var(--font-primary);font-weight:400;}
.ong-stat__sub{font-family:var(--font-secondary);font-size:var(--font-size-16);color:var(--ong-numeros-texto, var(--colors-white-1-40));}
@media(max-width:1279px){.ong-stats .container{grid-template-columns:repeat(2,1fr);}.ong-stat{padding:var(--spacing-40);}}
@media(max-width:420px){.ong-stats .container{grid-template-columns:1fr;}}

/* ============ CABEÇALHO DE SEÇÃO ============ */
.ong-eyebrow{display:flex;align-items:center;gap:var(--spacing-24);font-family:var(--font-secondary);color:var(--colors-ong-2-100);font-size:var(--font-size-16);text-transform:uppercase;line-height:var(--lineheight-20);}
.ong-eyebrow::before{content:'';display:inline-block;width:32px;height:1px;background:var(--colors-ong-2-100);}
.ong-sec-head{display:flex;flex-direction:column;gap:var(--spacing-16);max-width:44rem;}
.ong-sec-head h2{font-size:var(--font-size-48);line-height:1.1;}
.ong-sec-head p:not(.ong-eyebrow){font-family:var(--font-secondary);font-size:var(--font-size-20);line-height:1.6;color:var(--colors-white-1-80);}

/* ============ SOBRE ============ */
.ong-about__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--spacing-56);align-items:start;}
.ong-about__col{display:flex;flex-direction:column;row-gap:var(--spacing-40);}
.ong-about h2{font-size:var(--font-size-48);line-height:var(--lineheight-52);color:var(--ong-sobre-titulo, var(--colors-white-1-100));}
.ong-about h2 em{color:var(--ong-sobre-destaque, var(--colors-ong-2-100));display:block;}
.ong-about .ong-eyebrow{color:var(--ong-sobre-eyebrow, var(--colors-ong-2-100));}
.ong-about .ong-eyebrow::before{background:var(--ong-sobre-eyebrow, var(--colors-ong-2-100));}
.ong-about__story{font-family:var(--font-secondary);font-size:var(--font-size-22);line-height:var(--lineheight-26);color:var(--ong-sobre-texto, var(--colors-white-1-40));white-space:pre-line;}
.ong-about__facts{display:flex;flex-direction:column;row-gap:var(--spacing-16);margin:0;padding:0;list-style:none;}
.ong-fact{display:flex;flex-direction:row;column-gap:var(--spacing-16);align-items:center;}
.ong-fact__icon{position:relative;height:var(--spacing-10);width:var(--spacing-10);object-fit:cover;flex-shrink:0;}
.ong-fact p{position:relative;color:var(--colors-white-1-100);font-family:var(--font-secondary);font-size:var(--font-size-18);line-height:var(--lineheight-22);text-align:left;font-weight:400;}
.ong-cards{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;row-gap:var(--spacing-16);align-items:flex-start;align-self:center;}
.ong-card-mini{position:relative;display:flex;flex-direction:row;align-items:flex-start;column-gap:var(--spacing-16);padding:var(--spacing-48);background:var(--colors-black-1-20);border:1px solid var(--colors-white-1-20);transition:background 0.3s ease,border-color 0.3s ease;}
.ong-card-mini::before{content:'';position:absolute;top:-1px;left:-1px;bottom:-1px;width:2px;background:linear-gradient(180deg, var(--colors-black-1-0) 0%, var(--colors-ong-2-100) 50%, var(--colors-black-1-0) 100%);opacity:0;transition:opacity 0.3s ease;pointer-events:none;}
.ong-card-mini:hover{border-color:var(--colors-white-1-40);}
.ong-card-mini:hover::before{opacity:1;}
.ong-card-mini__icon{box-sizing:content-box;width:29px;height:auto;object-fit:contain;flex-shrink:0;border:1px solid var(--colors-ong-2-100);padding:var(--spacing-10);}
.ong-card-mini__body{display:flex;flex-direction:column;row-gap:var(--spacing-16);}
.ong-card-mini h3{color:var(--colors-white-1-100);font-size:var(--font-size-32);line-height:var(--lineheight-36);font-family:var(--font-primary);}
.ong-card-mini p{color:var(--ong-sobre-descricao, var(--colors-white-1-40));font-size:var(--font-size-16);line-height:var(--lineheight-20);font-family:var(--font-secondary);}
@media(max-width:991px){.ong-about__grid{grid-template-columns:1fr;gap:var(--spacing-40);}}
@media (min-width:992px) and (max-width:1119px){.ong-about h2 em{display:inline;}}

/* ============ DIA A DIA (marrom + carrossel de fotos) ============ */
.ong-daily{background:var(--ong-diaadia-fundo, var(--colors-ong-3-100));}
.ong-daily .ong-eyebrow{color:var(--ong-diaadia-destaque, var(--colors-white-1-100));}
.ong-daily .ong-eyebrow::before{background:var(--ong-diaadia-destaque, var(--colors-white-1-100));}
.ong-daily h2{font-size:var(--font-size-48);line-height:var(--lineheight-52);color:var(--ong-diaadia-titulo, var(--colors-white-1-100));}
.ong-daily__head{display:flex;flex-direction:column;gap:var(--spacing-16);margin-bottom:var(--spacing-48);}
.ong-daily__carousel{position:relative;}
.ong-daily__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3 * var(--spacing-24)) / 4);gap:var(--spacing-24);
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;}
.ong-daily__track::-webkit-scrollbar{display:none;}
.ong-daily__slide{scroll-snap-align:start;display:flex;flex-direction:column;gap:0;margin:0;min-width:0;}
.ong-daily__img{aspect-ratio:3/4;overflow:hidden;background:rgba(0,0,0,.15);cursor:pointer;}
.ong-daily__img img{width:100%;height:100%;object-fit:cover;}
.ong-daily__slide figcaption{background:var(--colors-white-1-10);color:var(--ong-diaadia-texto, var(--colors-white-1-100));padding:var(--spacing-12) var(--spacing-16);font-family:var(--font-secondary);font-size:var(--font-size-22);line-height:var(--lineheight-26);text-align:left;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;}
.ong-daily__arrow{position:absolute;top:calc((100% - 50px) / 2);transform:translateY(-50%);z-index:2;
  width:2.4rem;height:2.4rem;border:none;border-radius:var(--radius-8);background-color:var(--colors-white-1-100);color:var(--colors-black-1-40);
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s;}
.ong-daily__arrow svg{width:var(--spacing-32);height:var(--spacing-32);}
.ong-daily__arrow--prev{left:var(--spacing-16);}
.ong-daily__arrow--next{right:var(--spacing-16);}
.ong-daily__arrow--next svg{transform:rotate(180deg);}
.ong-daily__arrow:hover{color:var(--colors-black-1-60);}
@media(max-width:991px){.ong-daily__track{grid-auto-columns:calc((100% - 2 * var(--spacing-24)) / 3);}}
@media(max-width:767px){.ong-daily__track{grid-auto-columns:calc((100% - var(--spacing-24)) / 2);}}
@media(max-width:600px){.ong-daily__track{grid-auto-columns:100%;}}

/* ============ LIGHTBOX DA GALERIA ============ */
.ong-lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:var(--spacing-56) var(--spacing-32);background:rgba(0,0,0,.92);}
.ong-lightbox.is-open{display:flex;}
.ong-lightbox__figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-16);max-width:min(92vw,1100px);}
.ong-lightbox__img{max-width:100%;max-height:78vh;object-fit:contain;display:block;}
.ong-lightbox__caption{color:var(--colors-white-1-100);font-family:var(--font-secondary);font-size:var(--font-size-18);line-height:var(--lineheight-26);text-align:center;}
.ong-lightbox__close{position:absolute;top:var(--spacing-24);right:var(--spacing-24);width:2.75rem;height:2.75rem;border:none;border-radius:var(--radius-8);background:var(--colors-white-1-10);color:var(--colors-white-1-100);font-size:1.3rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.ong-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:2.75rem;height:2.75rem;border:none;border-radius:var(--radius-8);background:var(--colors-white-1-10);color:var(--colors-white-1-100);font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.ong-lightbox__close:hover,.ong-lightbox__nav:hover{background:var(--colors-white-1-20);}
.ong-lightbox__nav--prev{left:var(--spacing-24);}
.ong-lightbox__nav--next{right:var(--spacing-24);}
@media(max-width:560px){.ong-lightbox__nav{display:none;}}

/* ============ ONDE ATUAMOS (metodologia) ============ */
/* Cabeçalho vira LINHA (texto à esquerda, setas à direita) — mesma anatomia
   do .speaker-group__head do Força Integrada. O texto some para dentro de
   .ong-methods__head-text, que herda o empilhamento/largura que o próprio
   .ong-methods__head tinha antes. */
.ong-methods__head{display:flex;flex-direction:row;justify-content:space-between;align-items:end;column-gap:var(--spacing-24);}
.ong-methods__head-text{display:flex;flex-direction:column;row-gap:var(--spacing-40);width:min(41.67rem,100%);}
.ong-methods__head-text h2{font-size:var(--font-size-48);line-height:var(--lineheight-52);color:var(--ong-metodologia-titulo, var(--colors-white-1-100));}
.ong-methods__head-text h2 em{color:var(--ong-metodologia-destaque, var(--colors-ong-2-100));}
.ong-methods .ong-eyebrow{color:var(--ong-metodologia-eyebrow, var(--colors-ong-2-100));}
.ong-methods .ong-eyebrow::before{background:var(--ong-metodologia-eyebrow, var(--colors-ong-2-100));}
.ong-methods__head-text > p:not(.ong-eyebrow){font-family:var(--font-secondary);color:var(--ong-metodologia-texto, var(--colors-white-1-40));line-height:var(--lineheight-26);font-size:var(--font-size-22);}

/* Setas: só aparecem com .is-overflow (posto pelo JS quando sobra card fora
   da tela — ver @section('scripts') do ong.blade.php). Bloco que cabe
   inteiro na tela não ganha navegação, igual ao carrossel de palestrantes. */
.ong-methods__nav{display:none;flex:none;column-gap:var(--spacing-16);}
.ong-methods.is-overflow .ong-methods__nav{display:flex;}
.ong-methods__nav-btn{width:2.4rem;height:2.4rem;flex-shrink:0;border:1px solid var(--colors-white-1-20);border-radius:var(--radius-8);background:var(--colors-black-1-20);color:var(--colors-white-1-100);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s ease;}
.ong-methods__nav-btn svg{width:1.1rem;height:1.1rem;}
.ong-methods__nav-btn--next svg{transform:rotate(180deg);}
.ong-methods__nav-btn:hover:not(:disabled){border-color:var(--colors-white-1-40);}
/* Ponta do trilho: a seta apaga em vez de sumir, para a dupla não trocar de
   lugar e o layout não pular (mesmo comportamento do Força Integrada). */
.ong-methods__nav-btn:disabled{opacity:.35;cursor:default;}

/* Trilho: scroll nativo com snap (funciona no toque sem JS); o JS só mede
   overflow pras setas e pagina de tela em tela ao clicar. O card tem
   LARGURA FIXA (--method-card-w, em rem — acompanha o --font-base clamp
   como todo o resto do site, não é um px cravado): quantos cabem por tela
   é consequência do espaço disponível, não uma contagem escolhida por
   breakpoint. Numa tela larga cabem 4, numa estreita cabem menos, até 1 —
   sozinho, sem lista de "--track-cols" pra manter. */
.ong-methods__grid{
  --method-card-w:22.3889rem; /* 403px no root de 18px — largura que a viralataz já tinha antes do trilho de tamanho fixo */
  display:flex;
  column-gap:var(--spacing-24);
  list-style:none;
  margin:var(--spacing-48) 0 0;
  padding:0;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.ong-methods__grid::-webkit-scrollbar{display:none;}
.ong-method{flex:0 0 var(--method-card-w);scroll-snap-align:start;min-width:0;position:relative;display:flex;flex-direction:column;row-gap:var(--spacing-40);padding:var(--spacing-48);border:1px solid var(--colors-white-1-20);background:var(--colors-black-1-20);transition:background 0.3s ease,border-color 0.3s ease;}
.ong-method::before{content:'';position:absolute;top:-1px;left:-1px;right:-1px;height:2px;background:linear-gradient(90deg, var(--colors-black-1-0) 0%, var(--colors-ong-2-100) 50%, var(--colors-black-1-0) 100%);opacity:0;transition:opacity 0.3s ease;pointer-events:none;}
.ong-method:hover{border-color:var(--colors-white-1-40);}
.ong-method:hover::before{opacity:1;}
.ong-method__top{display:flex;flex-direction:row;justify-content:space-between;align-items:center;}
.ong-method__icon{box-sizing:content-box;width:29px;height:22px;object-fit:cover;flex-shrink:0;position:relative;border:1px solid var(--colors-white-1-20);padding:var(--spacing-10);}
.ong-method__num{font-family:var(--font-primary);color:var(--colors-white-1-10);line-height:var(--lineheight-52);font-size:var(--font-size-48);}
.ong-method h3{color:var(--colors-white-1-100);font-family:var(--font-primary);font-size:var(--font-size-32);line-height:var(--lineheight-36);}
.ong-method > p:not(.ong-method__metric){font-family:var(--font-secondary);color:var(--ong-metodologia-descricao, var(--colors-white-1-40));line-height:var(--lineheight-20);font-size:var(--font-size-16);}
.ong-method__metric{display:flex;align-items:center;gap:var(--spacing-24);font-family:var(--font-secondary);color:var(--colors-white-1-80);font-size:var(--font-size-16);line-height:var(--lineheight-20);border-top:1px solid var(--colors-white-1-10);width:100%;padding-top:var(--spacing-24);}
.ong-method__metric::before{content:'';display:inline-block;flex-shrink:0;width:32px;height:1px;background:var(--colors-antique-gold-1-100);}
@media(max-width:600px){
  .ong-methods__head{flex-direction:column;align-items:stretch;}
  .ong-methods .ong-methods__nav{justify-content:flex-end;}
}

/* ============ DOAÇÃO (intro + widget) ============ */
.ong-donate__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-56);align-items:start;}
.ong-donate__intro{display:flex;flex-direction:column;gap:var(--spacing-24);}
.ong-donate__intro h2{font-size:var(--font-size-48);line-height:var(--lineheight-52);color:var(--ong-doacao-titulo, var(--colors-white-1-100));}
.ong-donate__intro h2 em{color:var(--ong-doacao-destaque, var(--colors-ong-2-100));display:block;}
.ong-donate .ong-eyebrow{color:var(--ong-doacao-eyebrow, var(--colors-ong-2-100));}
.ong-donate .ong-eyebrow::before{background:var(--ong-doacao-eyebrow, var(--colors-ong-2-100));}
.ong-steps{list-style:none;padding:0;margin:0;}
.ong-step{display:flex;column-gap:var(--spacing-16);align-items:flex-start;padding:var(--spacing-24) 0;border-bottom:1px solid var(--colors-white-1-20);}
.ong-step .ong-fact__icon{margin-top:var(--spacing-4);}
.ong-step__content{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;row-gap:var(--spacing-16);}
.ong-step__title{position:relative;color:var(--colors-white-1-100);font-family:var(--font-secondary);font-size:var(--font-size-18);line-height:var(--lineheight-22);text-align:left;font-weight:400;}
.ong-step__desc{position:relative;width:100%;color:var(--ong-doacao-texto, var(--colors-white-1-40));font-family:var(--font-secondary);font-weight:400;font-size:var(--font-size-16);line-height:var(--lineheight-20);text-align:left;}
@media(max-width:1279px){.ong-donate__grid{grid-template-columns:1fr;gap:var(--spacing-40);}}

/* ============ TRANSPARÊNCIA ============ */
.ong-transp__head{margin-bottom:var(--spacing-48);max-width:52rem;}
.ong-transp__head h2{line-height:var(--lineheight-52);color:var(--ong-transparencia-titulo, var(--colors-white-1-100));}
.ong-transp__head h2 em{color:var(--ong-transparencia-destaque, var(--colors-ong-2-100));}
.ong-transp .ong-eyebrow{color:var(--ong-transparencia-eyebrow, var(--colors-ong-2-100));}
.ong-transp .ong-eyebrow::before{background:var(--ong-transparencia-eyebrow, var(--colors-ong-2-100));}
.ong-transp__head p:not(.ong-eyebrow){color:var(--ong-transparencia-texto, var(--colors-white-1-40));line-height:var(--lineheight-26);font-size:var(--font-size-22);}
.ong-transp__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-16);}
.ong-transp__card{border:1px solid var(--colors-white-1-20);border-radius:var(--radius-8);background:transparent;
  padding:var(--spacing-32) var(--spacing-40);display:flex;align-items:center;gap:var(--spacing-32);flex-wrap:wrap;transition:border-color 0.3s ease;}
.ong-transp__card:hover{border-color:var(--colors-white-1-40);}
.ong-transp__card-main{display:flex;align-items:center;gap:var(--spacing-80);}
.ong-transp__year{font-family:var(--font-primary);font-size:var(--font-size-32);color:var(--colors-ong-2-100);line-height:var(--lineheight-36);}
.ong-transp__card-txt{display:flex;flex-direction:column;gap:2px;}
.ong-transp__card-title{font-family:var(--font-primary);font-size:var(--font-size-22);color:var(--colors-white-1-100);line-height:var(--lineheight-26);}
.ong-transp__card-sub{font-family:var(--font-secondary);font-size:var(--font-size-16);color:var(--ong-transparencia-descricao, var(--colors-white-1-40));line-height:var(--lineheight-20);}
.ong-transp__tag{margin-left:auto;font-family:var(--font-secondary);font-size:var(--font-size-16);color:var(--ong-transparencia-descricao, var(--colors-white-1-40));line-height:var(--lineheight-20);border:1px solid var(--colors-white-1-40);border-radius:var(--radius-8);padding:var(--spacing-8);}
a.ong-transp__tag{color:var(--colors-ong-2-100);border-color:var(--colors-ong-2-100);text-decoration:none;transition:border-color 0.3s ease,color 0.3s ease;}
@media(max-width:611px){.ong-transp__card{flex-direction:column;align-items:flex-start;gap:var(--spacing-16);}.ong-transp__card-main{flex-direction:column;align-items:flex-start;gap:var(--spacing-8);}.ong-transp__tag{margin-left:0;}}

/* ============ FAQ (2 colunas) ============ */
.ong-faq__grid{display:grid;grid-template-columns:.4fr 1fr;gap:var(--spacing-56);align-items:start;}
.ong-faq__head{display:flex;flex-direction:column;gap:var(--spacing-16);}
.ong-faq .ong-eyebrow{color:var(--ong-faq-destaque, var(--colors-antique-gold-1-100));}
.ong-faq .ong-eyebrow::before{background:var(--ong-faq-destaque, var(--colors-antique-gold-1-100));}
.ong-faq__head h2{font-size:var(--font-size-48);line-height:var(--lineheight-52);display:block;color:var(--ong-faq-titulo, var(--colors-white-1-100));}
.ong-faq__list{display:flex;flex-direction:column;gap:var(--spacing-16);}
@media(max-width:991px){.ong-faq__grid{grid-template-columns:1fr;gap:var(--spacing-40);}}
.ong-faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-16);background:transparent;border:none;cursor:pointer;text-align:left;font-family:var(--font-secondary);font-size:var(--font-size-22);line-height:var(--lineheight-26);font-weight:700;color:var(--ong-faq-texto, var(--colors-white-1-80));}
.ong-faq__q::after{content:'+';font-family:var(--font-secondary);font-size:var(--font-size-24);color:var(--colors-ong-2-100);flex-shrink:0;transition:transform .25s ease;}
.ong-faq__item.is-open .ong-faq__q::after{transform:rotate(45deg);}
.ong-faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;}
.ong-faq__item.is-open .ong-faq__a{grid-template-rows:1fr;}
.ong-faq__a-inner{overflow:hidden;min-height:0;}
.ong-faq__a-inner p{margin:0;border-top:0.125em solid var(--colors-white-1-20);padding-top:var(--spacing-16);padding-bottom:var(--spacing-16);font-family:var(--font-secondary);font-size:var(--font-size-18);line-height:var(--lineheight-22);color:var(--colors-white-1-60);font-weight:400;}
.ong-faq__a-inner a{text-decoration:underline;}

/* ============ FOOTER DA ONG ============ */
.ong-footer{position:relative;background:var(--ong-footer-fundo, rgba(17,17,17,.4));border-top:1px solid var(--colors-white-1-10);}
.ong-footer__grid{display:flex;justify-content:space-between;gap:var(--spacing-40);padding-block:var(--spacing-80);flex-wrap:wrap;}
.ong-footer__about{display:flex;flex-direction:column;row-gap:var(--spacing-24);column-gap:var(--spacing-24);width:16.75rem;overflow:hidden;justify-content:flex-start;align-items:flex-start;flex-shrink:0;}
.ong-footer__about p{font-family:var(--font-primary);font-size:var(--font-size-16);line-height:var(--lineheight-20);color:var(--ong-footer-texto, var(--colors-white-1-80));font-weight:400;letter-spacing:0;}
.ong-footer__socials{display:flex;gap:var(--spacing-16);list-style:none;margin:0;padding:0;}
.ong-footer__social{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;height:2.75rem;aspect-ratio:1;border:1px solid var(--colors-white-1-40);border-radius:var(--radius-8);transition:border-color 0.3s ease,background 0.3s ease;}
.ong-footer__social:hover{border-color:var(--colors-white-1-100);background:var(--colors-white-1-10);}
.ong-footer__social a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--colors-white-1-100);}
.ong-footer__social svg{width:1.125rem;height:1.125rem;}
.ong-footer__links{display:flex;gap:var(--spacing-80);flex-wrap:wrap;}
.ong-footer__col{display:flex;flex-direction:column;gap:var(--spacing-16);}
.ong-footer__title{position:relative;width:100%;font-family:var(--font-secondary);font-size:var(--font-size-16);line-height:var(--lineheight-20);text-transform:uppercase;color:var(--ong-footer-titulo, var(--colors-antique-gold-1-100));}
.ong-footer__col a{font-family:var(--font-secondary);font-size:var(--font-size-18);color:var(--colors-white-1-80);text-decoration:underline;transition:color .2s;}
.ong-footer__col a:hover{color:var(--colors-ong-2-100);}
.ong-footer__bottom{position:relative;display:flex;justify-content:space-between;gap:var(--spacing-16);flex-wrap:wrap;padding-block:var(--spacing-32);font-family:var(--font-secondary);font-size:var(--font-size-16);color:var(--colors-white-1-40);}
.ong-footer__bottom::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;height:1px;background:var(--colors-white-1-10);}
.ong-footer__bottom-links{display:flex;gap:var(--spacing-24);}
@media(max-width:767px){.ong-footer__links{gap:var(--spacing-40);}.ong-footer__bottom{flex-direction:column;}}

/* ==========================================================================
   COMPONENTE DOAÇÃO (padrão da página: flat, tokens, sem flourishes)
   ========================================================================== */
.doacao-container{display:flex;flex-direction:column;gap:var(--spacing-40);margin:0;padding:var(--spacing-48);background:var(--colors-black-1-20);border:1px solid var(--colors-white-1-20);color:var(--colors-white-1-100);position:relative;}
.doacao-cabecalho{display:flex;flex-direction:column;gap:var(--spacing-8);}
.doacao-titulo-principal{color:var(--colors-white-1-100);line-height:var(--lineheight-36);font-family:var(--font-primary);font-size:var(--font-size-32);font-weight:400;margin:0;}
.doacao-subtitulo{color:var(--ong-doacao-descricao, var(--colors-white-1-40));line-height:var(--lineheight-20);font-family:var(--font-secondary);font-size:var(--font-size-16);margin:0;}
.doacao-toggle{display:grid;grid-template-columns:1fr 1fr;background:var(--colors-black-1-20);border:1px solid var(--colors-white-1-20);}
.doacao-toggle-btn{background:transparent;border:none;color:var(--colors-white-1-80);line-height:var(--lineheight-22);font-family:var(--font-primary);font-size:var(--font-size-18);font-weight:700;padding:var(--spacing-16) var(--spacing-20);cursor:pointer;transition:background 0.3s ease,color 0.3s ease;text-align:center;}
.doacao-toggle-btn:hover:not(.ativo){color:var(--colors-white-1-100);}
.doacao-toggle-btn.ativo{background:var(--colors-ong-2-100);color:var(--colors-white-1-100);}
.doacao-toggle-btn:focus-visible{outline:2px solid var(--colors-ong-2-100);outline-offset:-2px;}
.doacao-wrapper{display:flex;flex-direction:column;gap:var(--spacing-40);}
.doacao-wrapper.hidden{display:none;}
.doacao-titulo{color:var(--ong-doacao-descricao, var(--colors-white-1-40));line-height:var(--lineheight-22);font-family:var(--font-secondary);font-size:var(--font-size-18);text-transform:uppercase;letter-spacing:.1em;margin:0;}
.doacao-valores{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-12);}
.doacao-valor-item{position:relative;background:var(--colors-black-1-20);border:1px solid var(--colors-white-1-20);padding:var(--spacing-24) var(--spacing-16);text-align:center;cursor:pointer;transition:background 0.3s ease,border-color 0.3s ease;user-select:none;}
.doacao-valor-item:hover{border-color:var(--colors-white-1-40);}
.doacao-valor-item.ativo{background:var(--colors-black-1-40);border-color:var(--colors-ong-2-100);}
.doacao-valor-item:focus-visible{outline:2px solid var(--colors-ong-2-100);outline-offset:3px;}
.doacao-valor-label{color:var(--colors-white-1-100);line-height:var(--lineheight-40);font-family:var(--font-primary);font-size:var(--font-size-36);font-weight:400;margin-bottom:var(--spacing-4);transition:color 0.3s ease;}
.doacao-valor-item.ativo .doacao-valor-label{color:var(--colors-ong-2-100);}
.doacao-valor-subtitulo{color:var(--ong-doacao-descricao, var(--colors-white-1-40));line-height:var(--lineheight-20);font-family:var(--font-secondary);font-size:var(--font-size-16);transition:color 0.3s ease;}
.doacao-valor-item.ativo .doacao-valor-subtitulo{color:var(--colors-ong-2-100);}
.doacao-outro-wrapper{display:flex;align-items:center;background:var(--colors-black-1-20);border:1px solid var(--colors-white-1-20);padding:var(--spacing-16) var(--spacing-24);transition:border-color 0.3s ease;}
.doacao-outro-wrapper:hover{border-color:var(--colors-white-1-40);}
.doacao-outro-wrapper:focus-within,.doacao-outro-wrapper.preenchido{border-color:var(--colors-ong-2-100);}
.doacao-outro-prefixo{color:var(--ong-doacao-descricao, var(--colors-white-1-40));font-family:var(--font-secondary);font-size:var(--font-size-16);margin-right:var(--spacing-12);flex-shrink:0;transition:color 0.3s ease;}
.doacao-outro-wrapper:focus-within .doacao-outro-prefixo,.doacao-outro-wrapper.preenchido .doacao-outro-prefixo{color:var(--colors-ong-2-100);}
.doacao-input-outro{flex:1;background:transparent;border:none;color:var(--colors-white-1-100);line-height:var(--lineheight-40);font-family:var(--font-primary);font-size:var(--font-size-36);font-weight:400;outline:none;width:100%;text-align:center;-moz-appearance:textfield;}
.doacao-input-outro::placeholder{color:var(--ong-doacao-descricao, var(--colors-white-1-40));font-family:var(--font-primary);opacity:1;}
.doacao-input-outro::-webkit-outer-spin-button,.doacao-input-outro::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.doacao-mensagem-wrapper{display:flex;align-items:center;background:var(--colors-black-1-20);border:1px solid var(--colors-white-1-20);padding:var(--spacing-24) var(--spacing-32);}
.doacao-mensagem-texto{color:var(--colors-white-1-80);line-height:var(--lineheight-26);font-family:var(--font-secondary);font-size:var(--font-size-22);margin:0;transition:opacity 0.3s ease;}
.doacao-mensagem-texto.atualizando{opacity:0;}
.doacao-botao{display:flex;align-items:center;justify-content:center;gap:var(--spacing-12);width:100%;background:var(--colors-ong-2-100);color:var(--colors-white-1-100);line-height:var(--lineheight-22);font-family:var(--font-secondary);font-size:var(--font-size-18);font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:none;border-radius:var(--radius-8);padding:var(--spacing-16) var(--spacing-24);cursor:pointer;transition:filter 0.3s ease;position:relative;}
.doacao-botao:hover{filter:brightness(1.05);}
.doacao-botao:focus-visible{outline:2px solid var(--colors-white-1-100);outline-offset:3px;}
.doacao-botao.carregando{pointer-events:none;opacity:0.85;}
.doacao-botao.carregando .doacao-botao-texto,.doacao-botao.carregando .doacao-botao-icone{opacity:0;}
.doacao-botao.carregando::after{content:'';position:absolute;width:22px;height:22px;border:2.5px solid var(--colors-white-1-20);border-top-color:var(--colors-white-1-100);border-radius:50%;animation:doacaoSpin 0.7s linear infinite;}
@keyframes doacaoSpin{to{transform:rotate(360deg);}}
.doacao-botao-icone{display:inline-flex;align-items:center;}
.doacao-botao-icone svg{display:block;}
.doacao-botao-texto{display:inline-block;transition:opacity 0.3s ease;}
.doacao-botao-texto.atualizando{opacity:0.5;}
.doacao-rodape{text-align:center;color:var(--colors-white-1-80);line-height:var(--lineheight-22);font-family:var(--font-secondary);font-size:var(--font-size-18);}
@media(max-width:600px){
  .doacao-container{padding:var(--spacing-32);gap:var(--spacing-32);}
  .doacao-wrapper{gap:var(--spacing-32);}
  .doacao-valores{grid-template-columns:1fr;gap:var(--spacing-8);}
  .doacao-valor-item{padding:var(--spacing-20) var(--spacing-16);}
}

/* ==========================================================================
   PÁGINA DE CAMPANHAS (/campanhas)
   Mesmos tokens da LP; cards autossuficientes (chips + DOE AGORA).
   ========================================================================== */
.ong-header__actions{display:flex;align-items:center;gap:var(--spacing-24);flex-shrink:0;}
.ong-header__link{font-family:var(--font-secondary);font-size:var(--font-size-16);line-height:var(--lineheight-20);text-transform:uppercase;letter-spacing:.06em;color:var(--colors-white-1-80);transition:color .2s ease;white-space:nowrap;}
.ong-header__link:hover{color:var(--colors-ong-2-100);}
@media(max-width:600px){.ong-header__link{display:none;}}

.ong-hero--compact{padding-top:var(--spacing-176);}
.ong-hero--compact .ong-hero__inner{padding-top:var(--spacing-40);padding-bottom:var(--spacing-56);}
.ong-hero--compact h1{font-size:var(--font-size-52);line-height:1.15;}

/* ---- grid de campanhas ativas (4 colunas, cards compactos → detalhe) ---- */
.ong-camps{background:var(--ong-campanhas-fundo, rgba(17,17,17,.4));}
.ong-camps__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-24);align-items:stretch;}
@media(max-width:1279px){.ong-camps__grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:767px){.ong-camps__grid{grid-template-columns:1fr;}}
.ong-camp{position:relative;display:flex;flex-direction:column;background:var(--colors-black-1-20);border:1px solid var(--colors-white-1-20);transition:border-color .3s ease;}
.ong-camp:hover{border-color:var(--colors-white-1-40);}
.ong-camp__media-link{display:block;}
.ong-camp__media{aspect-ratio:16/9;overflow:hidden;background:rgba(0,0,0,.15);}
.ong-camp__media img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.ong-camp:hover .ong-camp__media img{transform:scale(1.03);}
.ong-camp__body{display:flex;flex-direction:column;gap:var(--spacing-16);padding:var(--spacing-24);flex:1;}
.ong-camp__title{color:var(--colors-white-1-100);font-family:var(--font-primary);font-size:var(--font-size-22);line-height:var(--lineheight-26);font-weight:400;}
.ong-camp__title a{color:inherit;transition:color .2s ease;}
.ong-camp__title a:hover{color:var(--colors-ong-2-100);}
.ong-camp__resumo{font-family:var(--font-secondary);font-size:var(--font-size-16);line-height:var(--lineheight-22);color:var(--colors-white-1-60);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

/* ---- barra de progresso (meta de arrecadação) ---- */
.ong-camp__progress{display:flex;flex-direction:column;gap:var(--spacing-8);}
.ong-camp__bar{height:8px;background:var(--colors-white-1-10);border-radius:var(--radius-8);overflow:hidden;}
.ong-camp__bar span{display:block;height:100%;background:var(--colors-ong-2-100);border-radius:var(--radius-8);transition:width .4s ease;}
.ong-camp__bar-legend{font-family:var(--font-secondary);font-size:var(--font-size-16);line-height:var(--lineheight-20);color:var(--ong-campanhas-descricao, var(--colors-white-1-40));}
.ong-camp__bar-legend strong{color:var(--colors-white-1-100);font-weight:400;}

/* ---- chips de valores ---- */
.ong-camp__valores{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-8);}
@media(max-width:480px){.ong-camp__valores{grid-template-columns:1fr;}}
.ong-camp__chip{display:flex;flex-direction:column;gap:2px;background:var(--colors-black-1-20);border:1px solid var(--colors-white-1-20);padding:var(--spacing-16) var(--spacing-12);text-align:center;cursor:pointer;transition:background .3s ease,border-color .3s ease;user-select:none;font-family:inherit;}
.ong-camp__chip:hover{border-color:var(--colors-white-1-40);}
.ong-camp__chip.ativo{background:var(--colors-black-1-40);border-color:var(--colors-ong-2-100);}
.ong-camp__chip:focus-visible{outline:2px solid var(--colors-ong-2-100);outline-offset:3px;}
.ong-camp__chip-label{color:var(--colors-white-1-100);font-family:var(--font-primary);font-size:var(--font-size-26);line-height:var(--lineheight-30);transition:color .3s ease;}
.ong-camp__chip.ativo .ong-camp__chip-label{color:var(--colors-ong-2-100);}
.ong-camp__chip-sub{color:var(--ong-campanhas-descricao, var(--colors-white-1-40));font-family:var(--font-secondary);font-size:var(--font-size-12);line-height:var(--lineheight-16);transition:color .3s ease;}
.ong-camp__chip.ativo .ong-camp__chip-sub{color:var(--colors-ong-2-100);}

/* botão DOE AGORA reaproveita .doacao-botao; aqui é um <a> */
a.ong-camp__doar{text-decoration:none;text-align:center;margin-top:auto;}
.ong-camp__recorrente{align-self:center;font-family:var(--font-secondary);font-size:var(--font-size-16);line-height:var(--lineheight-20);color:var(--colors-white-1-60);text-decoration:underline;transition:color .2s ease;}
.ong-camp__recorrente:hover{color:var(--colors-ong-2-100);}

/* ---- estado vazio ---- */
.ong-camps__empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-24);max-width:44rem;}
.ong-camps__empty h2{font-size:var(--font-size-40);line-height:1.2;color:var(--ong-campanhas-titulo, var(--colors-white-1-100));}
.ong-camps__empty p{font-family:var(--font-secondary);font-size:var(--font-size-20);line-height:var(--lineheight-26);color:var(--ong-campanhas-texto, var(--colors-white-1-60));}

/* ---- campanhas encerradas ---- */
.ong-camps-closed{background:var(--ong-campanhas-fundo, rgba(17,17,17,.6));}
.ong-camps-closed .ong-sec-head{margin-bottom:var(--spacing-48);}
.ong-camps-closed .ong-sec-head h2{color:var(--ong-campanhas-titulo, var(--colors-white-1-100));}
.ong-camps-closed .ong-eyebrow{color:var(--ong-campanhas-destaque, var(--colors-ong-2-100));}
.ong-camps-closed .ong-eyebrow::before{background:var(--ong-campanhas-destaque, var(--colors-ong-2-100));}
.ong-camps-closed__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-16);}
.ong-camp-closed{border:1px solid var(--colors-white-1-20);border-radius:var(--radius-8);padding:var(--spacing-24) var(--spacing-32);display:flex;align-items:center;gap:var(--spacing-32);flex-wrap:wrap;transition:border-color .3s ease;}
.ong-camp-closed:hover{border-color:var(--colors-white-1-40);}
.ong-camp-closed__media{width:5.5rem;aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-8);flex-shrink:0;}
.ong-camp-closed__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.7;}
.ong-camp-closed__txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.ong-camp-closed__title{font-family:var(--font-primary);font-size:var(--font-size-22);color:var(--colors-white-1-80);line-height:var(--lineheight-26);}
.ong-camp-closed__sub{font-family:var(--font-secondary);font-size:var(--font-size-16);color:var(--ong-campanhas-descricao, var(--colors-white-1-40));line-height:var(--lineheight-20);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38rem;}
.ong-camp-closed__tag{margin-left:auto;font-family:var(--font-secondary);font-size:var(--font-size-16);color:var(--ong-campanhas-descricao, var(--colors-white-1-40));line-height:var(--lineheight-20);border:1px solid var(--colors-white-1-40);border-radius:var(--radius-8);padding:var(--spacing-8);white-space:nowrap;}
@media(max-width:611px){.ong-camp-closed{flex-direction:column;align-items:flex-start;gap:var(--spacing-16);}.ong-camp-closed__tag{margin-left:0;}.ong-camp-closed__sub{white-space:normal;}}

/* ---- legenda da imagem + progresso em unidades (2026-07-29) ---- */
.ong-camp__figure{margin:0;}
.ong-camp__media-cap{background:var(--colors-white-1-10);color:var(--colors-white-1-60);padding:var(--spacing-12) var(--spacing-16);font-family:var(--font-secondary);font-size:var(--font-size-16);line-height:var(--lineheight-20);}
.ong-camp__bar--unidades{position:relative;height:12px;}
.ong-camp__bar--unidades::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/var(--blocos) - 2px),var(--colors-black-1-80) calc(100%/var(--blocos) - 2px) calc(100%/var(--blocos)));pointer-events:none;}
.ong-camp__bar-units{font-family:var(--font-secondary);font-size:var(--font-size-16);line-height:var(--lineheight-20);color:var(--colors-white-1-80);}
.ong-camp__bar-units strong{color:var(--colors-ong-2-100);font-weight:400;}
.ong-camp__bar-note{font-family:var(--font-secondary);font-size:var(--font-size-12);line-height:var(--lineheight-16);color:var(--ong-campanhas-descricao, var(--colors-white-1-40));}

/* ==========================================================================
   PÁGINA DA CAMPANHA (/campanha/{slug})
   Cabeçalho no hero compacto; imagem + widget de doação lado a lado.
   ========================================================================== */
.ong-hero__lead--prose{white-space:pre-line;color:var(--colors-white-1-60);}
.campanha-detalhe{background:var(--ong-campanhadetalhe-fundo, rgba(17,17,17,.4));}
.campanha-detalhe__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--spacing-56);align-items:start;}
@media(max-width:991px){.campanha-detalhe__grid{grid-template-columns:1fr;gap:var(--spacing-40);}}
.campanha-detalhe__left{min-width:0;}
.campanha-detalhe__figure{margin:0;}
.campanha-detalhe__media{overflow:hidden;background:rgba(0,0,0,.15);}
.campanha-detalhe__media img{width:100%;height:auto;display:block;}
/* Desktop: a foto segue a ALTURA do widget (figura absoluta não empurra a linha
   do grid; o widget dita a altura e a imagem corta com cover). */
@media(min-width:992px){
  .campanha-detalhe__grid{align-items:stretch;}
  .campanha-detalhe__left{position:relative;}
  .campanha-detalhe__figure{position:absolute;inset:0;display:flex;flex-direction:column;}
  .campanha-detalhe__media{flex:1;min-height:0;}
  .campanha-detalhe__media img{height:100%;object-fit:cover;}
}
.campanha-widget{display:flex;flex-direction:column;gap:var(--spacing-24);background:var(--colors-black-1-20);border:1px solid var(--colors-white-1-20);padding:var(--spacing-40);}
a.campanha-widget__doar{text-decoration:none;text-align:center;}
.campanha-widget .doacao-valores{grid-template-columns:repeat(3,1fr);}
@media(max-width:480px){.campanha-widget .doacao-valores{grid-template-columns:1fr;}}
.campanha-widget__encerrada{display:flex;flex-direction:column;gap:var(--spacing-16);align-items:flex-start;}
.campanha-widget__encerrada p{font-family:var(--font-secondary);font-size:var(--font-size-18);line-height:var(--lineheight-26);color:var(--colors-white-1-60);}
.campanha-widget__encerrada-tag{align-self:flex-start;font-family:var(--font-secondary);font-size:var(--font-size-16);color:var(--colors-white-1-80);border:1px solid var(--colors-white-1-40);border-radius:var(--radius-8);padding:var(--spacing-8) var(--spacing-12);text-transform:uppercase;letter-spacing:.04em;}
.campanha-widget__encerrada .btn{align-self:stretch;text-align:center;justify-content:center;}

/* ---- case de campanha concluída (resultado no lugar do widget) ---- */
.campanha-widget__resultado{font-family:var(--font-secondary);font-size:var(--font-size-18);line-height:var(--lineheight-26);color:var(--ong-campanhadetalhe-texto, var(--colors-white-1-80));white-space:pre-line;}

/* ---- "Carregar mais campanhas" (paginação da listagem, 8 por página) ---- */
.ong-camps__more{display:flex;justify-content:center;margin-top:var(--spacing-48);}

/* ---- botão dourado do header (Campanhas na home / Início nas internas) ---- */
.btn--gold{background:var(--colors-antique-gold-1-100);color:var(--colors-white-1-100);border:none;border-radius:var(--radius-8);padding:var(--spacing-16) var(--spacing-24);font-size:var(--font-size-18);text-transform:uppercase;letter-spacing:.04em;}
.btn--gold:hover{filter:brightness(1.06);}
.ong-header .btn--gold{padding:var(--spacing-8) var(--spacing-16);font-size:var(--font-size-18);line-height:var(--lineheight-22);white-space:nowrap;}
@media(max-width:379px){.ong-header__bar{flex-direction:column;align-items:flex-start;}}

/* ==========================================================================
   FAIXA DA CAMPANHA EM DESTAQUE (home da ONG, logo abaixo do hero)
   Só renderiza quando há campanha ativa + faixa habilitada no painel.
   ========================================================================== */
.camp-faixa{background:var(--ong-campfaixa-fundo, var(--colors-black-1-40));border-bottom:1px solid var(--colors-white-1-10);}
.camp-faixa__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-56);padding-block:var(--spacing-48);}
.camp-faixa__text{display:flex;flex-direction:column;gap:var(--spacing-16);min-width:0;flex:1 1 0;}
.camp-faixa h2{font-size:var(--font-size-36);line-height:var(--lineheight-40);color:var(--ong-campfaixa-titulo, var(--colors-white-1-100));}
.camp-faixa__resumo{font-family:var(--font-secondary);font-size:var(--font-size-18);line-height:var(--lineheight-26);color:var(--ong-campfaixa-texto, var(--colors-white-1-60));display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.camp-faixa .ong-eyebrow{color:var(--ong-campfaixa-destaque, var(--colors-ong-2-100));}
.camp-faixa .ong-eyebrow::before{background:var(--ong-campfaixa-destaque, var(--colors-ong-2-100));}
.camp-faixa__aside{display:flex;flex-direction:column;gap:var(--spacing-16);flex:0 0 22rem;max-width:100%;}
.camp-faixa__cta{align-self:stretch;text-align:center;}
@media(max-width:991px){
  .camp-faixa__inner{flex-direction:column;align-items:flex-start;gap:var(--spacing-32);}
  .camp-faixa__aside{flex:none;width:100%;}
}

/* Escolha do meio de pagamento (Pix ou Cartao), so na ONG em modelo invertido.
   Espelha o visual do .doacao-toggle que ja existe logo acima do widget, em
   escala menor: e o mesmo gesto de escolha, nao precisa de linguagem nova. */
.doacao-meios{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-8);margin-bottom:var(--spacing-16);}
.doacao-meio{background:var(--colors-black-1-20);border:1px solid var(--colors-white-1-20);color:var(--colors-white-1-80);font-family:var(--font-primary);font-size:var(--font-size-16);font-weight:700;line-height:var(--lineheight-20);padding:var(--spacing-10) var(--spacing-16);cursor:pointer;transition:background 0.3s ease,color 0.3s ease,border-color 0.3s ease;text-align:center;}
.doacao-meio:hover{border-color:var(--colors-white-1-40);}
.doacao-meio.ativo{background:var(--colors-ong-2-100);border-color:var(--colors-ong-2-100);color:var(--colors-white-1-100);}
