.paragraph-title{
  font-weight: 500;
  font-size: 13pt;
}

.paragraph{
  font-weight: 300;
  font-size: 11pt;
}
.list-paragraph{
  list-style: none;
  font-weight: 400;
  padding: 5px;
}
.list-item-paragraph{
  font-weight: 500;
}
.destaque-paragraph{
  font-weight: 600;
  font-style: italic;
} 

/* =========================
FLOATING STICKER (bottom)
========================= */
.cmpFloatSticker{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 14px;
  z-index: 9999;
  display: none;
  justify-content: center;
  padding: 0 14px;

  /* hidden default */
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  visibility: hidden;

  transition: opacity .42s ease, transform .42s ease, visibility .42s ease;
}

    .cmpFloatSticker.is-visible{
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    visibility: visible;
    }

    .cmpFloatCard{
    width: min(560px, 100%);
    background: #fff;
    border-radius: 18px;
    box-shadow: 10px 10px 40px rgb(0 0 0 / 35%);
    border: 1px solid rgba(17,17,24,.10);
    padding: 12px 12px 12px;
    }

    .cmpFloatTop{
    display: flex;
    gap: 12px;
    align-items: center;
    }

    .cmpFloatRing{
    width: 46px;
    height: 46px;
    position: relative;
    flex: 0 0 46px;
    display: grid;
    place-items: center;
    }
    .cmpFloatRing svg{
    width: 46px;
    height: 46px;
    transform: rotate(-90deg);
    }
    .cmpFloatRing .pct{
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-family: var(--font-primary);
    font-weight: 900;
    font-size: 11px;
    color: #111118;
    }

    .cmpFloatRaised{
    flex: 1;
    min-width: 0;
    }

    .cmpFloatLine{
    line-height: 1.1;
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
    }
    .cmpFloatLine b{
    font-family: var(--font-primary);
    font-weight: 900;
    letter-spacing: -.3px;
    font-size: 18px;
    color: #111118;
    }
    .cmpFloatLine span{
    font-family: var(--font-primary);
    font-weight: 500;
    font-size: 18px;
    color: #2b2b34;
    }
    .cmpFloatMeta{
    text-decoration: underline;
    text-underline-offset: 3px;
    }

    /* =========================
   MINI TICKER (linha toda) - ÚNICO SISTEMA
========================= */

.cmpFloatMini{
  margin-top: 6px;
  font-family: var(--font-primary);
  font-size: 13px;
  color: #2b2b34;
  line-height: 1.25;
  overflow: hidden;
}

.cmpFloatMiniRow{
  position: relative;
  display: block;
  overflow: hidden;
  min-height: 1.25em;
}

.cmpFloatMiniRow.is-empty{
  min-height: auto;
  color: var(--g-muted);
  font-weight: 600;
}

/* camadas */
.cmpMiniRowLayer{
  position: absolute;
  inset: 0;
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  white-space: nowrap;

  will-change: transform, opacity;
  opacity: 0;
  visibility: hidden;
  transform: translateX(10px);
  pointer-events: none;
}

.cmpMiniRowLayer.is-on{
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  pointer-events: auto;
}

/* animações */
@keyframes cmpMiniRowIn{
  from { opacity: 0; transform: translateX(10px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes cmpMiniRowOut{
  from { opacity: 1; transform: translateX(0); }
  to   { opacity: 0; transform: translateX(12px); }
}

.cmpMiniRowIn{  animation: cmpMiniRowIn  .36s ease both; }
.cmpMiniRowOut{ animation: cmpMiniRowOut .28s ease both; }

@media (prefers-reduced-motion: reduce){
  .cmpMiniRowIn, .cmpMiniRowOut{ animation: none !important; }
}

 


    .cmpFloatChevron{
    font-weight: 900;
    margin-left: 3px;
    }

    .cmpFloatBtns{
    display: flex;
    gap: 12px;
    margin-top: 10px;
    }

    .cmpFloatBtn{
    width: 50%;
    height: 44px;
    border-radius: 999px;
    border: 1px solid transparent;
    cursor: pointer;
    font-family: var(--font-primary);
    font-weight: 900;
    letter-spacing: -.15px;
    transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
    }
    .cmpFloatBtn:hover{
    transform: translateY(-1px);
    box-shadow: 0 16px 32px rgba(0,0,0,.12);
    }

    .cmpFloatBtnDonate{ background: var(--g-btn); color:#fff; }
    .cmpFloatBtnShare{ background: var(--g-btn-2); color:#252525; border-color: rgba(37,37,37,.22); }


    .cmpDonationsFooterDesktop{
    display:flex;
    gap: 12px;
    margin-top: 14px;
    }

    .cmpDonationsFooterDesktop .cmpSmallBtn{
    flex: 1;
    height: 44px;
    border-radius: 999px;
    border: 1px solid rgba(17,17,24,.20);
    background:#fff;
    cursor:pointer;
    font-family: var(--font-primary);
    font-weight: 900;
    letter-spacing: -.1px;
    }

    :root{
      --g-bg:#ffffff;
      --g-text:#252525;
      --g-muted:#6f6f6f;
      --g-border: rgba(37,37,37,.14);

      --g-card:#fff;
      --g-shadow: 0 18px 40px rgba(0,0,0,.08);

      --g-green:#009F48;
      --g-green-dark:#014DA1;

      --g-btn:var(--brand-green, #02a95c);
      --g-btn-2:#ffffff;

      /* bloco campanhas */
      --camp-bg: #014DA1;
      --camp-bg-2: #013A79;
      --camp-border: rgba(255,255,255,.16);
      --camp-bar: rgba(255,255,255,.14);
      --camp-bar-fill: #F4BA1A;
    }

    body{
      background: var(--g-bg);
      color: var(--g-text);
    }

    /* container (usa o seu .container se existir; caso não, garante) */
    .container{
      width: min(1180px, calc(100% - 48px));
      margin: 0 auto;
      padding: 10px;
    }
    @media (max-width: 520px){
      .container{ width: calc(100% - 28px); }
      .cmpCurvedOverlay{ height: 38px; display: block!important; border: 0px; }

    }

    /* =========================
        HERO (campanha)
    ========================== */
    .cmpWrap{
      padding: 28px 0 10px;
    }

    .cmpTitle{
      margin: 0 0 18px;
      font-family: var(--font-primary);
      font-weight: 900;
      letter-spacing: -.7px;
      line-height: 1.03;
      font-size: clamp(30px, 4.2vw, 52px);
    }

    .cmpGrid{
      display:grid;
      grid-template-columns: minmax(0, 1fr) 380px;
      gap: 30px;
      align-items: start;
    }
    .cmpDonationsHead{ display:none; }
    .cmpDonationsSeeAll{ display:none; }
    .cmpDonationsFooterDesktop{ display:flex; gap:12px; margin-top:14px; }


/* Desktop: permite scroll vertical normal, sem “gestos” horizontais no slider */
@media (min-width: 981px){
  #cmpSlider{ touch-action: pan-y; }
  .cmpFloatSticker{
    display: none !important;
  }
}

     /* =========================
   MOBILE FINAL (100% responsivo)
========================= */
@media (max-width: 980px){
  html, body{ overflow-x:hidden; }

  .cmpWrap{ padding: 0 0 20px !important; background:#fff; }
  .container{ width:100% !important; margin:0 !important; padding:0 !important; }
  .cmpGrid{ grid-template-columns: 1fr !important; gap: 0 !important; }

  .cmpTitle{ display:none !important; }

  .cmpMediaCard{
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:hidden !important;
    background:#fff !important;
  }
  .cmpSlider{
    width:100% !important;
    aspect-ratio: 16/10 !important;
    height:auto !important;
    background:#f4f2ec !important;
  }
  .cmpSlide::before,
  .cmpSlide::after{ display:none !important; }
  .cmpSlide img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    display:block !important;
    padding:0 !important;
  }
  .cmpNav{ display:none !important; }
  .cmpDots{
    left:50% !important;
    transform:translateX(-50%) !important;
    bottom:12px !important;
    z-index:7 !important;
    gap:6px !important;
  }
  .cmpDot{
    width:7px !important;
    height:7px !important;
    background: rgba(255,255,255,.55) !important;
    border: 1px solid rgba(255,255,255,.35) !important;
  }
  .cmpDot.is-active{
    background:#fff !important;
    transform: scale(1.15) !important;
  }

  .cmpCurvedOverlay{ display:none !important; }
  .cmpHeroOverlay{
    position:static !important;
    inset:auto !important;
    display:block !important;
    background:#fff !important;
    padding:14px 16px 8px !important;
    text-align:left !important;
  }
  .cmpTitleMobile{
    color:#252525 !important;
    font-family: var(--font-primary) !important;
    font-weight:900 !important;
    font-size: clamp(28px, 7vw, 36px) !important;
    line-height:1.04 !important;
    letter-spacing:-.02em !important;
    margin:0 !important;
    text-shadow:none !important;
  }

  .cmpByline{
    position:static !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    padding:14px 16px 8px !important;
    border-top:0 !important;
    color:#252525 !important;
  }
  .cmpAvatar{
    width:34px !important;
    height:34px !important;
    font-size:13px !important;
    background:#f1f1f3 !important;
    color:#252525 !important;
  }
  .cmpByName{
    color:#252525 !important;
    text-shadow:none !important;
    font-size:14px !important;
    font-weight:700 !important;
  }

  .cmpProtected{
    display:block !important;
    padding:0 16px 14px !important;
  }
  .cmpProtectedBadge{
    background:#e7f7ef !important;
    color:#0f5d36 !important;
    border: 1px solid rgba(2,169,92,.25) !important;
    border-radius: 999px !important;
    padding: 6px 10px !important;
    font-size:12px !important;
  }

  .cmpDonateWrap{ display:none !important; }
  .cmpDonateBarMobile{
    display:block !important;
    margin: 0 16px 12px !important;
    padding:14px !important;
    border:1px solid #e5e1d7 !important;
    border-radius:16px !important;
    background:#fff !important;
  }
  .cmpDonateBarTop{
    display:grid !important;
    grid-template-columns: 56px minmax(0,1fr) !important;
    column-gap: 12px !important;
    align-items:center !important;
  }
  .cmpRingSm{
    width:56px !important;
    height:56px !important;
  }
  .cmpRingSm svg{
    width:56px !important;
    height:56px !important;
  }
  .cmpRaisedLineMobile b{
    font-size:22px !important;
    font-weight:800 !important;
    letter-spacing:-.02em !important;
  }
  .cmpRaisedLineMobile span{
    font-size:16px !important;
    font-weight:500 !important;
    display:block !important;
    margin-left:0 !important;
    line-height:1.25 !important;
  }
  .cmpDonCount{
    font-size:13px !important;
    font-weight:600 !important;
    color:#6f6f6f !important;
    margin-top:4px !important;
  }
  .cmpDonateBarBtns{
    display:grid !important;
    grid-template-columns: 1fr !important;
    gap:10px !important;
    margin-top:12px !important;
  }
  .cmpDonateBarBtns .cmpBtn{
    width:100% !important;
    height:48px !important;
    margin-top:0 !important;
  }
  .cmpDonateBarBtns .cmpBtnShare{
    background:#fff !important;
    color:#252525 !important;
    border-color: rgba(37,37,37,.22) !important;
  }

  .cmpStory{
    padding:0 16px !important;
  }
  .cmpStory hr{
    display:block !important;
    margin:18px 0 !important;
  }
  .cmpStory p{
    font-size:16px !important;
    line-height:1.55 !important;
    color:#252525 !important;
  }
  .cmpActionsBottom{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    padding:12px 0 0 !important;
  }
  .cmpActionGhost{
    width:100% !important;
    min-width:0 !important;
    height:46px !important;
  }

  #cmpDonationsMobileSlot{
    padding:0 16px !important;
    margin-top:18px !important;
  }
  .cmpDonationsHead{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }
  .cmpDonationsTitle{
    font-size:24px !important;
    margin-bottom:8px !important;
  }
  .cmpDonationsCount{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width: 28px !important;
    height: 24px !important;
    padding: 0 8px !important;
    border-radius:999px !important;
    background:#eef0f3 !important;
    color:#252525 !important;
    font-size:12px !important;
    font-weight:800 !important;
  }
  .cmpDonationsTopBtn{ display:none !important; }
  .cmpDonationsFooterDesktop{ display:none !important; }
  .cmpDonationsSeeAll{
    display:block !important;
    margin-top:14px !important;
  }
  .cmpDonorList{
    margin-top:0 !important;
    gap:12px !important;
  }
  .cmpDonorAv{ width: 36px !important; height: 36px !important; }

  .cmpSections{
    padding:26px 16px 0 !important;
  }
  .trustWrap{
    margin-top:24px !important;
    padding:30px 16px 26px !important;
    background:#fbfaf8 !important;
    border-top:1px solid #e5e1d7 !important;
  }
  .trustTitle{
    font-size:24px !important;
    line-height:1.15 !important;
  }
  .trustRow{
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .campPage{ display:none !important; }
  .cmpFloatSticker{ display:none !important; }
}
    

    /* =========================
        GALERIA (esquerda)
    ========================== */
    .cmpMediaCard{
      border: 1px solid var(--g-border);
      border-radius: 22px;
      overflow:hidden;
      background: #fff;
    }

    .cmpSlider{
      position: relative;
      aspect-ratio: 16/9;
      background: #eee;
      overflow:hidden;
    }

    .cmpSlides{
      display:flex;
      height: 100%;
      transition: transform .35s ease;
      will-change: transform;
    }

    .cmpSlide{
      flex: 0 0 100%;
      height: 100%;
      position: relative;
      background:#1a1b22;
      overflow: hidden;
    }

    .cmpSlide::before{
      content: "";
      position: absolute;
      inset: -10%;
      background-image: var(--cmp-slide-bg);
      background-size: cover;
      background-position: center;
      filter: blur(30px) saturate(.92) brightness(.58);
      transform: scale(1.08);
      z-index: 0;
      pointer-events: none;
    }

    .cmpSlide::after{
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(
        90deg,
        rgba(8,10,15,.50) 0%,
        rgba(8,10,15,.18) 50%,
        rgba(8,10,15,.50) 100%
      );
      z-index: 1;
      pointer-events: none;
    }
    .cmpSlide img{
      width:100%;
      height:100%;
      object-fit: contain;
      object-position: center top;
      position: relative;
      z-index: 2;
      display:block;
      padding: 0 12px;
    }

    .cmpNav{
      position:absolute;
      right: 16px;
      bottom: 16px;
      display:flex;
      gap: 10px;
      z-index: 2;
    }

    .cmpNavBtn{
      width: 38px;
      height: 38px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(0,0,0,.35);
      color:#fff;
      display:grid;
      place-items:center;
      cursor:pointer;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      transition: transform .12s ease, background .12s ease;
    }
    .cmpNavBtn:hover{ transform: translateY(-1px); background: rgba(0,0,0,.45); }

    .cmpDots{
      position:absolute;
      left: 18px;
      bottom: 18px;
      display:flex;
      gap: 7px;
      z-index: 2;
    }
    .cmpDot{
      width: 7px;
      height: 7px;
      border-radius: 999px;
      background: rgba(255,255,255,.45);
      border: 1px solid rgba(255,255,255,.14);
      cursor:pointer;
      transition: transform .12s ease, background .12s ease;
    }
    .cmpDot.is-active{
      background: #fff;
      transform: scale(1.15);
    }

    /* autor abaixo da imagem */
    .cmpByline{
      display:flex;
      align-items:center;
      gap: 12px;
      padding: 14px 16px;
      border-top: 1px solid var(--g-border);
    }
    .cmpAvatar{
      width: 34px;
      height: 34px;
      border-radius: 999px;
      background: #f1f1f3;
      display:grid;
      place-items:center;
      font-weight: 900;
      color:#222;
      font-family: var(--font-primary);
    }
    .cmpByName{
      font-family: var(--font-primary);
      font-weight: 900;
      letter-spacing: -.2px;
    }

    /* selo donation protected */
    .cmpProtected{
      padding: 0 16px 16px;
    }
    .cmpProtectedBadge{
      display:inline-flex;
      align-items:center;
      gap: 8px;
      padding: 4px 8px;
      border-radius: 6px;
      background: #a7e3e3;
      color: #1c456b;
      font-family: var(--font-primary);
      font-weight: 800;
      font-size: 12px;
      border: 1px solid rgba(15,77,75,.12);
    }
    .cmpProtectedBadge svg{ opacity:.9; }

    /* texto história */
    .cmpStory{
    }
    .cmpStory hr{
      border:0;
      height:1px;
      background: rgba(17,17,24,.14);
      margin: 14px 0 18px;
    }
    .cmpStory p{
      margin: 0 0 16px;
      color: #2b2b34;
      line-height: 1.6;
      font-size: 15px;
    }
    /* =========================
   CMP STORY - clamp 3 linhas + fade + read more
========================= */
.cmpStoryClamp{
  position: relative;
  overflow: hidden;

  /* 3 linhas */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;

  /* fallback moderno (quando suportado) */
  max-height: calc(1.6em * 6);  /* line-height(1.6) * 3 linhas */
}

 
/* quando expandir */
.cmpStoryClamp.is-expanded{
  display: block;
  -webkit-line-clamp: unset;
  max-height: none;
  overflow: visible;
}

/* fade no final (só quando NÃO expandido) */
.cmpStoryClamp::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;

  height: 44px; /* intensidade do fade */
  pointer-events:none;

  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,1) 72%,
    rgba(255,255,255,1) 100%
  );
}
.cmpStoryClamp.is-expanded::after{ display:none; }

/* botão/Link Read more */
.cmpReadMore{
  margin-top: 0px;
  display:inline-block;
  border:0;
  padding:0;
  background: transparent;

  font-family: var(--font-primary);
  font-weight: 400;
  font-size: 14px;

  color: #111118;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}



    /* botões donate/share (baixo da história no print) */
    .cmpActionsBottom{
      display:flex;
      gap: 18px;
      padding: 12px 0 0;
      flex-wrap: wrap;
    }
    .cmpActionGhost{
      flex: 0 0 auto;
      min-width: 240px;
      height: 46px;
      border-radius: 999px;
      border: 1px solid rgba(17,17,24,.22);
      background: #fff;
      cursor:pointer;
      font-family: var(--font-primary);
      font-weight: 900;
      letter-spacing: -.15px;
      transition: transform .12s ease, box-shadow .12s ease;
    }
    .cmpActionGhost:hover{
      transform: translateY(-1px);
      box-shadow: 0 14px 30px rgba(0,0,0,.08);
    }

    /* =========================
        CARD DOAÇÃO (direita)
    ========================== */
    .cmpDonateCard{
      position: relative; /* base */
      top: 0;
      background: var(--g-card);
      border: 1px solid var(--g-border);
      border-radius: 18px;
      padding: 18px;
      width: 380px;
      box-shadow: var(--g-shadow);

    }

    .cmpDonateWrap{
      position: relative;
      width: 100%;

    }

  .cmpDonateCard.is-fixed{
    position: fixed;
    top: calc(var(--topbar-h, 64px) + 18px);
  }

    .cmpDonateCard.is-stopped{
    position: absolute;
    top: 0; /* base */
    }
  
    .cmpProgressTop{
      display:flex;
      align-items:center;
      gap: 7px;
    }

    .cmpRing{
      width: 58px;
      height: 58px;
      display:grid;
      place-items:center;
      position: relative;
      flex: 0 0 auto;
    }
    .cmpRing svg{
      width: 58px;
      height: 58px;
      transform: rotate(-90deg);
    }
    .cmpRing .pct{
      position:absolute;
      inset:0;
      display:grid;
      place-items:center;
      font-family: var(--font-primary);
      font-weight: 900;
      font-size: 12px;
      color:#111;
    }
    .meta-value{
        text-decoration: underline;
    }
    .cmpRaisedLine{
      line-height: 1.1;
    }
    .cmpRaisedLine b{
      font-family: var(--font-primary);
      font-weight: 900;
      font-size: 24px;
      letter-spacing: -.3px;
    }
    .cmpRaisedLine span{
      color: var(--g-muted);
      font-weight: 500;
      font-size: 18px;
      margin-left: 6px;
    }
    .cmpDonCount{
      color: var(--g-muted);
      font-size: 14px;
      margin-top: 4px;
      font-weight: 600;
    }

    .cmpBtn{
      width: 100%;
      height: 48px;
      border-radius: 999px;
      border: 1px solid transparent;
      cursor:pointer;
      font-family: var(--font-primary);
      font-weight: 900;
      letter-spacing: -.15px;
      transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
    }
    .cmpBtn:hover{
      transform: translateY(-1px);
      box-shadow: 0 16px 32px rgba(0,0,0,.10);
    }
    .cmpBtnDonate{ background: var(--g-btn); color:#fff; margin-top: 14px; }
    .cmpBtnShare{ background: var(--g-btn-2); color:#252525; border-color: rgba(37,37,37,.22); margin-top: 10px; }

    .cmpDonationsBlock{
      margin-top: 16px;
      padding-top: 16px;
      border-top: 1px solid rgba(17,17,24,.12);
    }

    .cmpDonationsHead{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 10px;
      margin: 0;
    }

    .cmpDonationsTitle{
      margin:0;
      font-family: var(--font-primary);
      font-weight: 900;
      letter-spacing: -.2px;
      font-size: 36px;
      line-height: 1;
      color:#111118;
    }

    .cmpDonationsCount{
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .cmpDonationsTopBtn{
      height: 30px;
      border: 1px solid rgba(17,17,24,.16);
      background:#fff;
      color:#111118;
      border-radius: 999px;
      padding: 0 10px;
      display:inline-flex;
      align-items:center;
      gap: 6px;
      cursor:pointer;
      font-family: var(--font-primary);
      font-weight: 700;
      font-size: 12px;
      line-height: 1;
      white-space: nowrap;
      flex: 0 0 auto;
    }

    .cmpDonationsTopBtn svg{
      width: 14px;
      height: 14px;
      display:block;
    }

    .cmpDonationsPulse{
      margin: 14px 0 14px;
      display:flex;
      align-items:center;
      gap: 10px;
      color:#7416b3;
    }

    .cmpDonationsPulseIcon{
      width: 34px;
      height: 34px;
      flex: 0 0 34px;
      border-radius: 999px;
      background:#ead7ff;
      color:#6510a6;
      display:grid;
      place-items:center;
      overflow:hidden;
    }

    .cmpDonationsPulseIcon svg{
      width: 18px;
      height: 18px;
      display:block;
    }

    .cmpDonationsPulse strong{
      font-family: var(--font-primary);
      font-weight: 900;
      letter-spacing: -.2px;
      font-size: 16px;
      line-height: 1.1;
    }

    .cmpDonorList{
      margin-top: 14px;
      display:flex;
      flex-direction:column;
      gap: 30px;
    }
    .cmpDonor{
      display:flex;
      gap: 12px;
      align-items:flex-start;
    }
    .cmpDonorAv{
      width: 34px;
      height: 34px;
      border-radius: 999px;
      background:#f1f1f3;
      display:grid;
      place-items:center;
      font-family: var(--font-primary);
      font-weight: 900;
      color:#222;
      flex: 0 0 auto;
      overflow:hidden;
    }
    .cmpDonorAv svg{
      width: 18px;
      height: 18px;
      display:block;
    }
    .cmpDonorTxt{
      line-height: 1.15;
    }
    .cmpDonorName{
      font-weight: 500;
      font-family: var(--font-primary);
      letter-spacing: -.1px;
    }
    .cmpDonorMeta{
      color: var(--g-muted);
      font-size: 13px;
      font-weight: 100;
      margin-top: 4px;
    }
    .cmpDonorMeta b{
      color:#111118;
      font-weight: 900;
    }
    .cmpDonorTag{
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    .cmpDonor.cmpDonorEmpty .cmpDonorAv{
      background:#eef3ef;
      color:#0d7a43;
    }
    .cmpDonor.cmpDonorEmpty .cmpDonorMeta{
      font-weight: 500;
    }

    .cmpDonorBtns{
      margin-top: 16px;
      display:flex;
      gap: 12px;
    }
    .cmpSmallBtn{
      flex: 1;
      height: 38px;
      border-radius: 999px;
      border: 1px solid rgba(17,17,24,.20);
      background:#fff;
      cursor:pointer;
      font-family: var(--font-primary);
      font-weight: 900;
      letter-spacing: -.1px;
    }

    /* =========================
        ORGANIZER / META
    ========================== */
    .cmpSections{
      padding: 26px 0 0;
    }

    .cmpH2{
      margin: 0 0 14px;
      font-family: var(--font-primary);
      font-weight: 900;
      letter-spacing: -.35px;
      font-size: 22px;
    }

    .orgCard{
      display:flex;
      gap: 14px;
      align-items:flex-start;
    }

    .orgInfo{
      line-height: 1.25;
    }
    .orgInfo strong{
      display:block;
      font-family: var(--font-primary);
      font-weight: 900;
    }
    .orgInfo small{
      display:block;
      color: var(--g-muted);
      font-weight: 400;
      margin-top: 4px;
    }

   
    .orgNew{
      height: 20px;
      padding: 0 8px;
      border-radius: 8px;
      display:inline-grid;
      place-items:center;
      font-size: 11px;
      font-weight: 900;
      background: #ead7ff;
      color: #4a1b7a;
      border: 1px solid rgba(74,27,122,.12);
    }

    .cmpDivider{
      border:0;
      height:1px;
      background: rgba(17,17,24,.14);
      margin: 18px 0;
    }

    .cmpMetaLine{
      font-size: 15px;
      color:#2b2b34;
      display:flex;
      gap: 14px;
      flex-wrap: wrap;
      align-items:center;
      margin-top: 30px;
    }
    .cmpMetaLine a{
      color:#111118;
      font-weight: 900;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .cmpReport{
      display:flex;
      align-items:center;
      gap: 10px;
      margin: 18px 0 0;
      font-weight: 800;
      color:#2b2b34;
      cursor:pointer;
      user-select:none;
      width: fit-content;
    }
    .cmpReport svg{
      opacity:.8;
    }

    /* =========================
        EASY/POWERFUL/TRUSTED
    ========================== */
    .trustWrap{
      padding: 50px 0 26px;
    }
    .trustTitle{
      margin:0 0 20px;
      font-family: var(--font-primary);
      font-weight: 900;
      letter-spacing: -.35px;
      font-size: 20px;
    }
    .trustRow{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
    }
   
    .trustItem{
      display:flex;
      gap: 14px;
      align-items:flex-start;
    }
    .trustIcon{
    width: 38px;            /* pode manter 34 se quiser */
    height: 38px;
    flex: 0 0 38px;         /* impede “encolher” */
    display: grid;
    place-items: center;
    border-radius: 10px;
    overflow: hidden;       /* garante “caixa” igual */
    border: 1px solid #80808038;
    }

    /* normaliza o SVG dentro do bloco */
    .trustIcon svg{
    width: 18px;
    height: 18px;
    display: block;
    }
 
    .trustItem h3{
      margin:0;
      font-family: var(--font-primary);
      font-weight: 900;
      letter-spacing: -.2px;
      font-size: 16px;
    }
    .trustItem p{
      margin: 6px 0 0;
      color: var(--g-muted);
      font-weight: 500;
      line-height: 1.4;
      font-size: 14px;
    }
    .trustItem a{
      color:#111118;
      font-weight: 900;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    /* =========================
        CAMPANHAS (bloco verde)
    ========================== */
    .campPage{
      background: var(--camp-bg);
      padding: clamp(34px, 5vw, 54px) 0 clamp(60px, 6vw, 80px);
      margin-top: 26px;
    }

    .campHeader{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap: 18px;
      margin-bottom: 22px;
    }

    .campTitle{
      margin:0;
      font-family: var(--font-primary);
      font-weight: 900;
      letter-spacing: -.8px;
      color:#fff;
      line-height: 1.05;
      font-size: clamp(28px, 4.2vw, 56px);
      max-width: 860px;
    }

    .campControls{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap: 12px;
      flex: 0 0 auto;
      min-width: 220px;
    }

    .campDD{ position:relative; display:inline-flex; align-items:center; flex: 0 0 auto; }

    .campDDbtn{
      appearance:none;
      border: 1px solid var(--camp-border);
      background: transparent;
      color:#fff;
      border-radius: 999px;
      padding: 10px 42px 10px 16px;
      font-family: var(--font-primary);
      font-weight: 800;
      font-size: 14px;
      line-height: 1;
      cursor:pointer;
      outline:none;
      display:inline-flex;
      align-items:center;
      gap: 10px;
      transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
      white-space: nowrap;
    }

    .campDDbtn:hover{
      transform: translateY(-1px);
      border-color: rgba(255,255,255,.28);
      box-shadow: 0 12px 22px rgba(0,0,0,.18);
    }

    .campDDbtn:focus{
      border-color: rgba(255,255,255,.38);
      box-shadow: 0 0 0 3px rgba(255,255,255,.14);
    }

    .campDDchev{
      position:absolute;
      right: 14px;
      pointer-events:none;
      opacity:.9;
      color:#fff;
    }

    .campDDmenu{
      position:absolute;
      top: calc(100% + 10px);
      left: 0;
      width: min(300px, 88vw);
      background: #073f2d;
      border: 1px solid rgba(255,255,255,.14);
      box-shadow: 0 18px 38px rgba(0,0,0,.30);
      border-radius: 16px;
      padding: 8px;
      display:none;
      z-index: 50;
    }

    .campDD.is-open .campDDmenu{ display:block; }

    .campDDitem{
      width:100%;
      border:0;
      background: transparent;
      color:#fff;
      padding: 12px 12px;
      border-radius: 14px;
      cursor:pointer;
      text-align:left;
      font-family: var(--font-primary);
      font-weight: 800;
      font-size: 14px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 12px;
      transition: background .12s ease;
    }
    .campDDitem:hover{ background: rgba(255,255,255,.06); }

    .campDDitem small{
      font-weight: 700;
      color: rgba(255,255,255,.68);
      font-size: 12px;
      letter-spacing: -.1px;
    }

    .campDDitem.is-active{ background: rgba(255,255,255,.08); }

    .campArrows{ display:flex; align-items:center; gap: 10px; }

    .campArrowBtn{
      width: 34px;
      height: 34px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.22);
      background: transparent;
      display:grid;
      place-items:center;
      cursor:pointer;
      color:#fff;
      transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, opacity .12s ease;
    }

    .campArrowBtn:hover{
      transform: translateY(-1px);
      box-shadow: 0 14px 26px rgba(0,0,0,.24);
      border-color: rgba(255,255,255,.34);
    }

    .campArrowBtn:disabled{
      opacity:.45;
      cursor:not-allowed;
      transform:none;
      box-shadow:none;
    }

    .campRow{
      display:flex;
      gap: 22px;
      overflow:auto;
      padding: 8px 2px 12px;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
    }

    .campRow::-webkit-scrollbar{ height: 10px; }
    .campRow::-webkit-scrollbar-thumb{
      background: rgba(255,255,255,.12);
      border-radius: 999px;
    }

    .campCard{
      flex: 0 0 auto;
      width: 258px;
      scroll-snap-align: start;
      text-decoration:none;
      color: inherit;
      border-radius: 14px;
      overflow:hidden;
      background: transparent;
    }

    .campMedia{
      position:relative;
      width:100%;
      height: 150px;
      border-radius: 14px;
      overflow:hidden;
      background: #0f1930;
    }

    .campMedia::before{
      content:"";
      position:absolute;
      inset:-8%;
      background-image: var(--camp-media-bg);
      background-size: cover;
      background-position: center;
      filter: blur(20px) brightness(.58) saturate(.9);
      transform: scale(1.08);
      z-index: 0;
      pointer-events: none;
    }

    .campMedia::after{
      content:"";
      position:absolute;
      inset:0;
      background: linear-gradient(
        90deg,
        rgba(7,12,22,.48) 0%,
        rgba(7,12,22,.22) 50%,
        rgba(7,12,22,.48) 100%
      );
      z-index: 1;
      pointer-events: none;
    }

    .campMedia img{
      width:100%;
      height:100%;
      object-fit: contain;
      object-position: center top;
      display:block;
      position: relative;
      z-index: 2;
      padding: 0 7px;
    }

    .campBadge{
      position:absolute;
      left: 10px;
      bottom: 10px;
      padding: 6px 10px;
      border-radius: 999px;
      background: rgba(0,0,0,.45);
      color:#fff;
      font-family: var(--font-primary);
      font-weight: 800;
      font-size: 12px;
      line-height:1;
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      border: 1px solid rgba(255,255,255,.14);
    }

    .campBody{ padding-top: 12px; }

    .campH3{
      margin:0;
      font-family: var(--font-primary);
      font-weight: 900;
      color:#fff;
      letter-spacing:-.25px;
      font-size: 14px;
      line-height: 1.25;
      display:-webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow:hidden;
    }

    .campBy{
      margin-top: 8px;
      font-family: var(--font-primary);
      font-weight: 700;
      font-size: 12px;
      color: rgba(255,255,255,.70);
      line-height: 1.25;
      display:-webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow:hidden;
    }

    .campBy strong{
      color: rgba(255,255,255,.92);
      font-weight: 900;
    }

    .campMeta{
      margin-top: 12px;
      display:flex;
      flex-direction:column;
      gap: 8px;
    }

    .campBar{
      height: 6px;
      border-radius: 999px;
      background: var(--camp-bar);
      overflow:hidden;
    }

    .campBar > span{
      display:block;
      height:100%;
      width: var(--pct, 55%);
      background: var(--camp-bar-fill);
      border-radius: 999px;
    }

    .campRaised{
      font-family: var(--font-primary);
      font-weight: 900;
      font-size: 13px;
      color:#fff;
      letter-spacing:-.1px;
    }
 

    @media (max-width: 520px){
      .campCard{ width: 82vw; }

    }
    @media (max-width: 2560px){
      .cmpDonateBarMobile{ display: none; }
    }


    @media (prefers-reduced-motion: reduce){
      .cmpSlides, .campMedia img{ transition:none !important; }
      .campDDbtn, .campArrowBtn, .cmpNavBtn{ transition:none !important; }
    }

    /* =========================
   CURVED OVERLAY (banner -> conteúdo)
========================= */
.cmpCurvedOverlay{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;            /* cola e evita “linha” */
  height: 25px;           /* ajuste fino */
  width:100%;
  z-index: 9;             /* acima do gradiente e imagem */
  pointer-events:none;
  display:none;           /* default: escondido */
}

.cmpCurvedOverlay path{
  fill: #fff;             /* cor do conteúdo abaixo */
}



/* =========================
   DONATIONS MODAL (mobile + desktop)
========================= */
.donModal{
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: none;
}
.donModal.is-open{ display:block; }

.donOverlay{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.50);
  border:0;
  opacity:0;
  pointer-events:none;
  transition: opacity .18s ease;
}

/* sheet base */
.donSheet{
  position:absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(640px, calc(100% - 44px));
  height: min(720px, calc(100% - 44px));

  background:#fff;
  border-radius: 18px;
  box-shadow: 0 30px 80px rgba(0,0,0,.28);

  display: flex;
  flex-direction: column;

  overflow: hidden; /* 🔒 impede scroll externo */
  outline:none;
}

/* header */
.donHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 18px 18px 10px;
}
.donHeadLeft{
  display:flex;
  align-items:center;
  gap: 10px;
}
.donTitle{
  margin:0;
  font-family: var(--font-primary);
  font-weight: 900;
  letter-spacing: -.4px;
  font-size: 26px;
  color:#111118;
}
.donPill{
  height: 22px;
  padding: 0 10px;
  border-radius: 999px;
  background:#eef0f3;
  color:#111118;
  font-family: var(--font-primary);
  font-weight: 800;
  font-size: 12px;
  display:inline-grid;
  place-items:center;
}
.donClose{
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border:0;
  background: transparent;
  cursor:pointer;
  display:grid;
  place-items:center;
  color:#111118;
}
.donClose:hover{ background: #f2f3f6; }

/* tabs */
.donTabs{
  display:flex;
  gap: 18px;
  padding: 0 18px 10px;
}
.donTab{
  border:0;
  background: transparent;
  cursor:pointer;
  font-family: var(--font-primary);
  font-weight: 900;
  letter-spacing: -.15px;
  font-size: 15px;
  color:#2b2b34;
  padding: 8px 12px;
  border-radius: 999px;
}
.donTab.is-active{
  background:#111118;
  color:#fff;
}

/* body scroll */
.donBody{
  flex: 1;                 /* ocupa o espaço entre header e footer */
  overflow-y: auto;        /* ✅ scroll vertical */
  overflow-x: hidden;

  padding: 4px 0 0;

  overscroll-behavior: contain; /* 🔒 não “puxa” o body da página */
  -webkit-overflow-scrolling: touch;
}

/* list items */
.donList{
  padding: 0 18px;
}
.donEmpty{
  padding: 16px 0;
  color: var(--g-muted, #6f6f6f);
  font-family: var(--font-primary);
  font-weight: 600;
}
.donRow{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 14px 0;
  border-bottom: 1px solid rgba(17,17,24,.08);
}
.donAv{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background:#f1f1f3;
  display:grid;
  place-items:center;
  font-family: var(--font-primary);
  font-weight: 900;
  color:#222;
  flex: 0 0 auto;
}
.donTxt{ line-height: 1.15; }
.donName{
  font-family: var(--font-primary);
  font-weight: 500;
  letter-spacing:-.1px;
  color:#111118;
}
.donMeta{
  margin-top: 4px;
  font-family: var(--font-primary);
  font-size: 13px;
  color: var(--g-muted, #5b5b66);
  font-weight: 500;
}
.donMeta b{
  color:#111118;
  font-weight: 900;
}

/* banner green */
.donBanner{
  margin: 14px 0;
  background: #c9f58d; /* bem próximo do print */
  display:flex;
  align-items:center;
  gap: 12px;
  padding: 12px 14px;
}
.donBannerImg{
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(0,0,0,.08);
  background-size: cover;
  background-position:center;
  flex: 0 0 44px;
}
.donBannerTxt{
  flex: 1;
  font-family: var(--font-primary);
  font-weight: 900;
  letter-spacing: -.2px;
  font-size: 14px;
  color:#17331f;
  line-height: 1.15;
}
.donBannerBtn{
  height: 34px;
  padding: 0 16px;
  border-radius: 999px;
  border:0;
  cursor:pointer;
  background: #014DA1;
  color:#fff;
  font-family: var(--font-primary);
  font-weight: 900;
}

/* bottom bar */
.donBottom{
  border-top: 1px solid rgba(17,17,24,.10);
  padding: 14px 18px 16px;
  background:#fff;
}
.donBottomRow{
  display:flex;
  align-items:center;
  gap: 12px;
}
.donRing{
  width: 56px;
  height: 56px;
  position: relative;
  flex: 0 0 56px;
  display:grid;
  place-items:center;
}
.donRing svg{
  width: 56px;
  height: 56px;
  transform: rotate(-90deg);
}
.donRing .pct{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-family: var(--font-primary);
  font-weight: 900;
  font-size: 12px;
  color:#111118;
}
.donRaised{
  flex:1;
  min-width:0;
}
.donRaisedTop{
  font-family: var(--font-primary);
  font-weight: 500;
  color:#111118;
  letter-spacing:-.15px;
  font-size: 18px;
}
.donRaisedTop b{
  font-weight: 900;
}
.donRaisedSub{
  margin-top: 2px;
  font-family: var(--font-primary);
  font-weight: 500;
  color: var(--g-muted, #5b5b66);
  font-size: 18px;
}
.donRaisedSub .meta{
  text-decoration: underline;
  text-underline-offset: 3px;
}
.donBottomBtn{
  width: 100%;
  height: 48px;
  border-radius: 999px;
  border:0;
  margin-top: 12px;
  cursor:pointer;
  font-family: var(--font-primary);
  font-weight: 900;
  letter-spacing:-.15px;
  background: var(--g-btn, #02a95c);
  color:#fff;
}

/* =========================
   MODOS: DESKTOP vs MOBILE
========================= */
.donModal.is-desktop .donOverlay{
  opacity: 1;
  pointer-events:auto;
}

.donModal.is-mobile .donOverlay{
  opacity: 0;
  pointer-events:none;
}

/* MOBILE: full screen */
@media (max-width: 980px){
  .donSheet{
    left: 0;
    top: 0;
    transform: none;
    width: 100%;
    height: 100%;
    border-radius: 0;
    box-shadow:none;
  }
  .donBody{
    max-height: calc(100vh - 170px);
  }
}

/* trava scroll do body quando modal abre */
body.is-locked{
  overflow: hidden !important;
}


 /* =========================
     Toast (top-right)
  ========================= */
  .toastHost{
    position: fixed;
    top: calc(var(--topbar-h, 64px) + 14px);
    right: 14px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
  }

  .toast{
    pointer-events: auto;
    min-width: 260px;
    max-width: 360px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(20, 20, 22, .92);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 12px 35px rgba(0,0,0,.35);
    color: #fff;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    transform: translateY(-6px);
    opacity: 0;
    animation: toastIn .18s ease forwards;
  }

  .toast .ico{
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex: 0 0 auto;
  }

  .toast .txt{
    flex: 1 1 auto;
    line-height: 1.25;
    font-size: 13.5px;
  }

  .toast .ttl{
    font-weight: 700;
    font-size: 13.5px;
    margin-bottom: 2px;
  }

  .toast .sub{
    opacity: .86;
    font-size: 12.5px;
  }

  .toast.is-out{
    animation: toastOut .16s ease forwards;
  }

  @keyframes toastIn{
    to { transform: translateY(0); opacity: 1; }
  }
  @keyframes toastOut{
    to { transform: translateY(-6px); opacity: 0; }
  }

/* =========================
   MOBILE FIDELITY (laurap)
========================= */
.cmpMobilePrimary{ display:none; }
.cmpEngage{ display:none; }

@media (max-width: 980px){
  :root{
    --topbar-h: 56px !important;
  }

  .cmpTitle,
  .cmpHeroOverlay,
  .cmpCurvedOverlay,
  .cmpTitleMobile,
  .cmpByline,
  .cmpProtected,
  .cmpDonateBarMobile,
  .campPage,
  .cmpFloatSticker{
    display:none !important;
  }

  body .topbar{
    min-height: 56px !important;
    padding: 0 !important;
    background: #fff !important;
    border-bottom: 1px solid #e5e1d7 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  body{
    padding-top: var(--topbar-h, 56px) !important;
  }
  body .topbar .container{
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
  }
  body .nav{
    min-height: 56px !important;
    gap: 8px !important;
    align-items: center !important;
  }
  body .navLeft,
  body .navRight{
    min-height: 56px !important;
  }
  body .navCenter .logo{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width: 170px !important;
    height: 40px !important;
    overflow: hidden !important;
    transform: none !important;
  }
  body .navLeft{ gap: 0 !important; }
  body .navRight{ gap: 0 !important; }
  body .navLeft > a.iconBtn.mobileOnly{
    margin-left: 0 !important;
  }
  body .navRight > .mobileOnly{
    gap: 0 !important;
  }
  body .iconBtn{
    width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: transparent !important;
    color: #252525 !important;
    opacity: 1 !important;
  }
  body .iconSvg{
    width: 24px !important;
    height: 24px !important;
  }
  body .logo-img{
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center 52% !important;
  }

  .cmpWrap{
    padding: 0 0 24px !important;
    background:#f5f5f5 !important;
  }
  .container{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
  .cmpGrid{
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .cmpMediaCard{
    margin: 4px 6px 0 !important;
    border:0 !important;
    border-radius:8px !important;
    box-shadow:none !important;
    background:#fff !important;
    overflow:hidden !important;
  }
  .cmpSlider{
    width:100% !important;
    aspect-ratio: 16/9 !important;
    height:auto !important;
    border: .5px solid #c0bdb8 !important;
    border-radius: 8px !important;
    background:#ece9e2 !important;
  }
  .cmpSlide{
    background:#d8d5cd !important;
  }
  .cmpSlide::before,
  .cmpSlide::after{
    display:block !important;
  }
  .cmpSlide::before{
    inset: -8% !important;
    background-size: cover !important;
    background-position: center center !important;
    filter: blur(24px) saturate(.9) brightness(.95) !important;
    transform: scale(1.12) !important;
    z-index:0 !important;
  }
  .cmpSlide::after{
    inset:0 !important;
    background:
      linear-gradient(90deg,
        rgba(32,32,36,.18) 0%,
        rgba(32,32,36,0) 17%,
        rgba(32,32,36,0) 83%,
        rgba(32,32,36,.18) 100%) !important;
    z-index:1 !important;
  }
  .cmpSlide img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    position:relative !important;
    z-index:2 !important;
    padding:0 !important;
  }
  .cmpNav{ display:none !important; }
  .cmpDots{
    left:50% !important;
    transform:translateX(-50%) !important;
    bottom:10px !important;
    gap:6px !important;
  }
  .cmpDot{
    width:7px !important;
    height:7px !important;
    background:rgba(255,255,255,.58) !important;
    border:1px solid rgba(255,255,255,.34) !important;
  }
  .cmpDot.is-active{
    background:#fff !important;
    transform:scale(1.15) !important;
  }

  .cmpMobilePrimary{
    display:block !important;
    padding: 14px 8px 0 !important;
  }
  .cmpMobileTitleMain{
    margin: 0 0 12px !important;
    color:#252525 !important;
    font-family: var(--font-primary) !important;
    font-weight: 800 !important;
    font-size: clamp(28px, 7.2vw, 40px) !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }
  .cmpMobileGoalCard{
    border: 1px solid #ddd7cb !important;
    border-radius: 12px !important;
    background:#fff !important;
    padding: 14px 14px 12px !important;
  }
  .cmpMobileRaised{
    color:#252525 !important;
    font-family: var(--font-primary) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height:1.2 !important;
  }
  .cmpMobileRaised b{
    font-size: inherit !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    margin-right: 0 !important;
  }
  .cmpMobileGoalBar{
    margin-top: 12px !important;
    height: 12px !important;
    border-radius: 999px !important;
    background: #d5d2ca !important;
    overflow:hidden !important;
  }
  .cmpMobileGoalBar > span{
    display:block !important;
    height:100% !important;
    background: #02a95c !important;
    border-radius: 999px !important;
  }
  .cmpMobileGoalMeta{
    margin-top: 10px !important;
    color:#6f6f6f !important;
    font-family: var(--font-primary) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height:1.22 !important;
  }
  .cmpMobileDonate{
    margin-top: 12px !important;
    width:100% !important;
    height:48px !important;
    border:0 !important;
    border-radius: 12px !important;
    background: #f99a32 !important;
    background: linear-gradient(180deg, #fdb933, #f99a32) !important;
    color:#252525 !important;
    font-family: var(--font-primary) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    cursor:pointer !important;
  }
  .cmpMobileDonate:hover{
    background: #fdb933 !important;
    background: linear-gradient(180deg, #f99a32 50.52%, #fdb933) !important;
    color:#252525 !important;
  }

  .cmpMobileOrgRow{
    margin-top: 14px !important;
    display:flex !important;
    gap: 10px !important;
    align-items:center !important;
  }
  .cmpMobileOrgAvatar{
    width:24px !important;
    height:24px !important;
    border-radius:999px !important;
    border:1px solid #d6d2ca !important;
    background:#f4f2ec !important;
    color:#252525 !important;
    display:grid !important;
    place-items:center !important;
    overflow:hidden !important;
    flex: 0 0 24px !important;
  }
  .cmpMobileOrgAvatar img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
  }
  .cmpMobileOrgAvatar svg{
    width:14px !important;
    height:14px !important;
    display:block !important;
  }
  .cmpMobileOrgRow p{
    margin:0 !important;
    color:#252525 !important;
    font-family: var(--font-primary) !important;
    font-size:15px !important;
    line-height:1.34 !important;
    font-weight:500 !important;
  }
  .cmpMobileRule{
    border:0 !important;
    height:1px !important;
    background:#ddd7cb !important;
    margin:14px 0 !important;
  }
  .cmpMobileProtected{
    display:flex !important;
    align-items:center !important;
  }
  .cmpMobileProtectedBadge{
    display:inline-flex !important;
    align-items:center !important;
    gap:4px !important;
    border-radius: 999px !important;
    background:#cef3bd !important;
    color:#015d32 !important;
    border:1px solid #008748 !important;
    min-height:24px !important;
    padding: 0 8px !important;
    font-family: var(--font-primary) !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1 !important;
  }
  .cmpMobileProtectedBadge svg{
    width:12px !important;
    height:12px !important;
    display:block !important;
  }

  .cmpStory{
    padding: 0 8px !important;
  }
  .cmpStory > hr:first-child{ display:none !important; }
  .cmpActionsBottom,
  .cmpMetaLine{
    display:none !important;
  }
  .cmpStory p{
    font-size: 15.5px !important;
    line-height: 1.52 !important;
    color:#252525 !important;
  }

  .cmpEngage{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding: 8px 8px 0 !important;
  }
  .cmpEngageLike{
    width:40px !important;
    height:40px !important;
    border-radius:999px !important;
    border:1px solid #d7d2c9 !important;
    background:#f3f1ec !important;
    color:#3c3c42 !important;
    font-size:20px !important;
    line-height:1 !important;
    display:grid !important;
    place-items:center !important;
    cursor:pointer !important;
  }
  .cmpEngageStats{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    color:#47474f !important;
    font-family: var(--font-primary) !important;
    font-size:28px !important;
    line-height:1 !important;
  }
  .cmpEngageCount{
    font-size:30px !important;
    line-height:1 !important;
    color:#44444c !important;
    text-decoration:underline !important;
    text-underline-offset:2px !important;
    font-weight:500 !important;
    letter-spacing:-.01em !important;
  }
  .cmpMobileRuleEngage{
    margin: 18px 8px 0 !important;
  }

  #cmpDonationsMobileSlot{
    display:block !important;
    padding: 12px 8px 0 !important;
    margin-top: 0 !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsBlock{
    border-top: 1px solid #d9d5cd !important;
    padding-top: 18px !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsHead{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:10px !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsTitle{
    font-family: var(--font-primary) !important;
    color:#252525 !important;
    font-weight:900 !important;
    letter-spacing:-.02em !important;
    font-size: clamp(40px, 10vw, 50px) !important;
    line-height: 1 !important;
    margin:0 !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsCount{
    display:inline !important;
    background:transparent !important;
    border:0 !important;
    color:inherit !important;
    font-size:inherit !important;
    font-weight:inherit !important;
    min-width:0 !important;
    height:auto !important;
    padding:0 !important;
    border-radius:0 !important;
    text-decoration:underline !important;
    text-underline-offset:3px !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsTopBtn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:28px !important;
    height:28px !important;
    border:0 !important;
    border-radius:999px !important;
    background:transparent !important;
    color:#252525 !important;
    margin-top: 8px !important;
    padding:0 !important;
    font-size:22px !important;
    line-height:1 !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsTopBtn span{ display:none !important; }
  #cmpDonationsMobileSlot .cmpDonationsPulse{
    margin: 14px 0 16px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    color:#7f00c0 !important;
    font-family: var(--font-primary) !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsPulseIcon{
    width:42px !important;
    height:42px !important;
    border-radius:999px !important;
    display:grid !important;
    place-items:center !important;
    background:#ead7ff !important;
    color:#6510a6 !important;
    font-size:23px !important;
    line-height:1 !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsPulse strong{
    font-size:36px !important;
    line-height:1.05 !important;
    font-weight:900 !important;
    letter-spacing:-.02em !important;
  }
  #cmpDonationsMobileSlot .cmpDonorList{
    margin-top:0 !important;
    gap:14px !important;
  }
  #cmpDonationsMobileSlot .cmpDonor{
    align-items:flex-start !important;
    gap:12px !important;
  }
  #cmpDonationsMobileSlot .cmpDonorAv{
    width:34px !important;
    height:34px !important;
    background:#efede8 !important;
    color:#2b2b34 !important;
  }
  #cmpDonationsMobileSlot .cmpDonorName{
    font-size:31px !important;
    line-height:1.05 !important;
    font-weight:500 !important;
    color:#252525 !important;
    letter-spacing:-.02em !important;
  }
  #cmpDonationsMobileSlot .cmpDonorMeta{
    margin-top:4px !important;
    font-size:31px !important;
    line-height:1.06 !important;
    font-weight:400 !important;
    color:#252525 !important;
  }
  #cmpDonationsMobileSlot .cmpDonorMeta b{
    font-size:31px !important;
    font-weight:900 !important;
    color:#252525 !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsSeeAll,
  #cmpDonationsMobileSlot .cmpDonationsFooterDesktop{
    display:none !important;
  }

  .cmpSections{
    display:block !important;
    padding: 14px 8px 0 !important;
  }
  .cmpSections .cmpDivider{
    margin: 22px 0 !important;
    background:#d9d5cd !important;
  }
  .cmpSections .cmpH2{
    margin: 0 0 16px !important;
    font-size: clamp(40px, 10vw, 50px) !important;
    line-height: 1 !important;
    letter-spacing:-.02em !important;
    color:#252525 !important;
  }
  .cmpSections .orgCard{
    gap:12px !important;
  }
  .cmpSections .cmpAvatar{
    width:34px !important;
    height:34px !important;
    background:#efede8 !important;
  }
  .cmpSections .orgInfo strong{
    font-size:34px !important;
    line-height:1.04 !important;
    letter-spacing:-.02em !important;
    font-weight:900 !important;
    color:#252525 !important;
  }
  .cmpSections .orgInfo small{
    margin-top:5px !important;
    font-size:26px !important;
    line-height:1.18 !important;
    color:#2f2f36 !important;
    font-weight:500 !important;
  }
  .cmpSections .cmpReport{
    display:none !important;
  }

  .trustWrap{
    display:block !important;
    margin-top: 18px !important;
    padding: 24px 8px 26px !important;
    background:transparent !important;
    border-top: 1px solid #d9d5cd !important;
  }
  .trustTitle{
    margin:0 0 20px !important;
    font-size: clamp(42px, 10.5vw, 54px) !important;
    line-height: 1.03 !important;
    letter-spacing:-.025em !important;
    color:#252525 !important;
  }
  .trustRow{
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .trustItem{
    gap: 12px !important;
  }
  .trustIcon{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
    border:0 !important;
    background:transparent !important;
    border-radius:0 !important;
  }
  .trustIcon svg{
    width:30px !important;
    height:30px !important;
  }
  .trustItem h3{
    margin:0 !important;
    font-size:38px !important;
    line-height:1.06 !important;
    letter-spacing:-.02em !important;
    color:#252525 !important;
  }
  .trustItem p{
    margin:4px 0 0 !important;
    font-size:36px !important;
    line-height:1.22 !important;
    font-weight:500 !important;
    color:#252525 !important;
  }
}
  
.logo-img--gofundme{
  width: 105px;
  height: 36px;
  object-fit: contain;
}

/* Final mobile pass (laurap fidelity) */
@media (max-width: 980px){
  body .navCenter .logo{
    width: auto !important;
    min-width: 165px !important;
    height: 44px !important;
  }
  body .logo-img{
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: scale(1.42) !important;
    transform-origin: center center !important;
  }
  body .logo-img.logo-img--gofundme{
    width: 128px !important;
    max-width: 128px !important;
    height: 44px !important;
    object-fit: contain !important;
    transform: none !important;
  }

  .cmpMediaCard{
    margin: 0 6px 0 !important;
  }
  .cmpSlider{
    aspect-ratio: 16/10 !important;
  }

  .cmpProtectedBadge svg,
  .cmpMobileProtectedBadge svg{
    width: 14px !important;
    height: 14px !important;
  }

  #cmpDonationsMobileSlot .cmpDonationsTitle{
    font-size: 24px !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.1 !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsTopBtn{
    width: 24px !important;
    height: 24px !important;
    margin-top: 3px !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsTopBtn svg{
    width: 16px !important;
    height: 16px !important;
    display: block !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsPulse{
    margin: 10px 0 14px !important;
    gap: 10px !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsPulseIcon{
    width: 36px !important;
    height: 36px !important;
    font-size: 0 !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsPulseIcon svg{
    width: 20px !important;
    height: 20px !important;
    display: block !important;
  }
  #cmpDonationsMobileSlot .cmpDonationsPulse strong{
    font-size: 20px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.01em !important;
  }
  #cmpDonationsMobileSlot .cmpDonorList{
    gap: 12px !important;
  }
  #cmpDonationsMobileSlot .cmpDonorAv{
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    place-items: center !important;
  }
  #cmpDonationsMobileSlot .cmpDonorAv svg{
    width: 20px !important;
    height: 20px !important;
    display: block !important;
  }
  #cmpDonationsMobileSlot .cmpDonorName{
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
  }
  #cmpDonationsMobileSlot .cmpDonorMeta{
    font-size: 17px !important;
    line-height: 1.2 !important;
    margin-top: 3px !important;
    letter-spacing: 0 !important;
  }
  #cmpDonationsMobileSlot .cmpDonorMeta b{
    font-size: inherit !important;
    font-weight: 700 !important;
  }
  .cmpDonorTag{
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
  }

  .cmpSections .cmpH2{
    font-size: 22px !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    margin-bottom: 14px !important;
  }
  .cmpSections .orgInfo strong{
    font-size: 18px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    font-weight: 700 !important;
  }
  .cmpSections .orgInfo small{
    font-size: 16px !important;
    line-height: 1.3 !important;
    margin-top: 2px !important;
  }

  .trustWrap{
    padding: 22px 8px 22px !important;
    margin-top: 16px !important;
  }
  .trustTitle{
    margin: 0 0 14px !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }
  .trustRow{
    gap: 14px !important;
  }
  .trustItem{
    gap: 10px !important;
  }
  .trustIcon{
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
  }
  .trustIcon svg{
    width: 24px !important;
    height: 24px !important;
  }
  .trustItem h3{
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
  }
  .trustItem p{
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    margin-top: 2px !important;
  }
}
