/* Campaign reading and donation flow. */
html { scroll-behavior: smooth; scroll-padding-top: 30px; }
body { background: #fafcfb; color: #26392e; }
body > header { background: #fff; border-bottom: 1px solid #e5ede8; }
.campaign-nav { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; }
.campaign-nav a { color:#496153; text-decoration:none; }
.campaign-nav button { background:#24ca68; color:#fff; padding:11px 22px; border:0; border-radius:8px; font:inherit; cursor:pointer; }
#corpo { padding-top:34px; }
.topVakinha { max-width:860px; margin-bottom:30px; }
.topVakinha > span:first-child, .section-eyebrow { display:block; color:#087b43; font-size:12px; letter-spacing:1.4px; font-weight:700; text-transform:uppercase; margin-bottom:12px; }
.topVakinha h1 { font-size:clamp(28px,3.2vw,42px); line-height:1.17; letter-spacing:-1.1px; color:#203c2b; margin:0 0 16px; font-weight:750; }
.topVakinha > span:last-child { display:block; max-width:760px; font-size:17px; line-height:1.7; color:#617065; }
.detalhes-view { overflow:hidden; border-radius:16px; border:1px solid #e1eae4; background:white; }
.galeria .image { height:auto!important; }
.galeria .image img { display:block; width:100%; height:auto!important; object-fit:contain; }
.photo-caption { display:flex; align-items:center; gap:10px; padding:15px 20px; color:#56705e; font-size:13px; }
.caption-heart { color:#0a8f51; font-size:25px; line-height:1; }
.sticker-resumo { background:white; border:1px solid #e0eae3; border-radius:16px; padding:26px!important; box-shadow:0 10px 35px #224a3010; }
.sticker-resumo .arrecadado > span { font-size:12px; color:#68766c; line-height:1.5; display:block; margin:18px 0 5px; }
.sticker-resumo .arrecadado h2 { color:#087b43; font-size:34px; letter-spacing:-1px; }
.fundraising-note { font-size:12px; line-height:1.6; color:#78827b; margin:14px 0 22px; }
.dadosPerfil h3 { font-size:15px!important; line-height:1.4; }
.dadosPerfil .vakinhas { display:none; }
.menu-detalhes { margin-top:30px; }
.menu-detalhes ul { display:flex; gap:24px; border-bottom:1px solid #dce7df; }
.menu-detalhes li { font-size:14px; padding:16px 0!important; }
.show-sobre { padding-top:28px; font-size:16px; line-height:1.85; color:#4c5d52; }
.show-sobre p { margin:0 0 19px; }
.show-sobre .inicio { font-size:12px; color:#718077; }
.story-heading { color:#263e2e; font-size:25px; line-height:1.35; letter-spacing:-.45px; margin:24px 0 15px; font-weight:700; }
.story-quote { margin:26px 0; padding:18px 22px; border-left:3px solid #24ca68; background:#eef8f1; font-size:20px; line-height:1.55; color:#22603c; border-radius:0 10px 10px 0; }
.purpose-card { margin:30px 0; padding:26px; border:1px solid #d9eade; border-radius:14px; background:#f2f9f4; }
.purpose-card h3 { font-size:23px; line-height:1.4; color:#234a31; margin-bottom:12px; }
.purpose-list { list-style:none; padding:0; margin:0; }
.purpose-list li { position:relative; padding:15px 0 15px 28px; border-top:1px solid #dceade; }
.purpose-list li:before { content:'✓'; position:absolute; left:0; color:#0a8f51; font-weight:700; }
.purpose-list strong,.purpose-list span { display:block; }
.purpose-list strong { color:#284d34; font-size:15px; }
.purpose-list span { font-size:14px; color:#68796d; }
#corpo .btn-ajudar, #fixed-mobile .btn-ajudar { border:0; border-radius:9px; font-size:16px; font-weight:700; padding:16px 18px; cursor:pointer; line-height:1.35; min-height:52px; }
.story-cta { width:100%; background:#24ca68; color:white; }
.campaign-note { color:#718077; font-size:12px; text-align:center; margin-top:12px!important; line-height:1.65; }
.donation-steps { padding-left:24px; }
.donation-steps li { padding:0 0 14px 8px; }
.donation-steps li::marker { color:#0a8f51; font-weight:bold; }
.donation-steps p { margin:4px 0 0; }
.resumo-mobile { border:1px solid #e0eae3; border-radius:12px; background:white; padding:18px!important; margin-top:18px; }
.arrecadacaoMobile small { display:block; color:#738177; font-size:11px; margin-bottom:4px; }
.arrecadacaoMobile br { display:none; }
@media(max-width:767px) {
 #corpo { padding-top:24px; }
 .campaign-nav { gap:12px; }
 .campaign-nav a { display:none; }
 .campaign-nav button { padding:10px 14px; font-size:13px; }
 .topVakinha { margin-bottom:22px; }
 .topVakinha h1 { letter-spacing:-.6px; }
 .topVakinha > span:last-child { font-size:15px; line-height:1.65; }
 .show-sobre { font-size:15px; line-height:1.8; padding-top:22px; }
 .story-heading { font-size:23px; }
 .story-quote { font-size:18px; padding:17px; }
 .purpose-card { padding:20px; }
 .purpose-card h3 { font-size:21px; }
 .photo-caption { padding:12px 15px; font-size:12px; }
 body { padding-bottom:82px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
#corpo .topVakinha > span:last-child { text-transform:none; letter-spacing:0; }
#corpo .topVakinha h1 { text-align:left; }
#corpo .sticker-resumo .arrecadado > span { font-size:12px; font-weight:500; }
.campaign-footer { background:#eef5f0; border-top:1px solid #dfe9e2; padding:35px 0 25px; margin-top:55px; color:#42624d; }
.campaign-footer strong { font-size:18px; }
.campaign-footer p { font-size:14px; margin:10px 0 20px; line-height:1.7; }
.campaign-footer small { display:block; color:#78867c; font-size:11px; margin-top:24px; }
.footer-links { display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.footer-links a,.footer-links button { font:inherit; font-size:13px; color:#167c46; background:none; border:0; padding:0; cursor:pointer; text-decoration:none; }
#corpo .btn-ajudar, #fixed-mobile .btn-ajudar { font-family:inherit; }
#corpo .dadosPerfil .vakinhas { display:none; }
#corpo .menu-detalhes li { font-family:inherit; }
/* Phone-first layout: readable content and controls within thumb reach. */
@media (max-width: 991px) {
 body { padding-bottom:calc(92px + env(safe-area-inset-bottom)); }
 body > header .content-header { min-height:68px; padding-top:12px; padding-bottom:12px; }
 #corpo { padding-top:20px; }
 #corpo > .container { padding-left:18px; padding-right:18px; }
 #corpo .topVakinha h1 { font-size:28px; line-height:1.2; margin-bottom:14px; }
 #corpo .topVakinha > span:last-child { font-size:16px; line-height:1.65; }
 #corpo .topVakinha > span:first-child { font-size:11px; margin-bottom:10px; }
 #corpo .detailsVakinha .detalhes { flex:0 0 100%; max-width:100%; padding:0; min-width:0; }
 #corpo .detailsVakinha > .resumo { display:none; }
 #corpo .detalhes-view { border-radius:12px; }
 #corpo .photo-caption { padding:12px; font-size:12px; }
 #corpo .resumo-mobile { margin-top:16px; padding:18px!important; }
 #corpo .resumo-mobile .perfil { display:none!important; }
 #corpo .arrecadacaoMobile { font-size:13px; line-height:1.7; }
 #corpo .arrecadacaoMobile strong { color:#087b43; font-size:25px; letter-spacing:-.5px; }
 #corpo .progresso-mobile { margin-bottom:10px; gap:8px; }
 #corpo .progresso-mobile .porcentagem { font-size:12px; white-space:nowrap; }
 #corpo .menu-detalhes { margin-top:20px; }
 #corpo .menu-detalhes ul { gap:0; justify-content:space-between; }
 #corpo .menu-detalhes ul li { margin:0; padding:14px 6px!important; min-height:48px; font-size:14px; text-align:center; }
 #corpo .show-sobre { font-size:16px; line-height:1.8; padding:22px 0 0; }
 #corpo .story-heading { font-size:23px; margin-top:22px; }
 #corpo .purpose-card { padding:20px 18px; margin:26px 0; }
 #corpo .purpose-list span { font-size:14px; line-height:1.65; }
 #fixed-mobile { padding:12px 18px calc(12px + env(safe-area-inset-bottom))!important; border-top:1px solid #e1eae4; border-radius:16px 16px 0 0; box-shadow:0 -5px 24px #203c2b0d!important; }
 #fixed-mobile button.btn-ajudar { min-height:54px; font-family:inherit; font-size:16px; letter-spacing:0; }
 .campaign-footer { padding:28px 0; margin-top:36px; }
 .footer-links { gap:10px 22px; }
 .footer-links a,.footer-links button { display:inline-flex; align-items:center; min-height:44px; }
 #exitHelpModal { width:calc(100% - 24px); max-height:calc(100dvh - 32px); overflow:auto; }
}
@media(max-width:360px) {
 #corpo > .container { padding-left:14px; padding-right:14px; }
 #corpo .topVakinha h1 { font-size:25px; }
 #corpo .menu-detalhes ul li { font-size:13px; }
 .campaign-nav button { padding:10px 12px; }
}
.support-messages { margin-top:32px; padding:26px; background:#fff; border:1px solid #dfe9e2; border-radius:16px; }
.support-messages h2 { font-size:24px; line-height:1.3; color:#263e2e; margin:0 0 10px; letter-spacing:-.4px; }
.support-intro { font-size:13px; line-height:1.6; color:#758279; margin-bottom:8px; }
.support-comment { display:flex; gap:12px; padding:22px 0; border-bottom:1px solid #edf1ee; }
.support-avatar { width:40px; height:40px; flex:0 0 40px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#e4f4e9; color:#227044; font-size:13px; font-weight:700; }
.support-comment:nth-of-type(2) .support-avatar { background:#e8effa; color:#3e62a1; }
.support-comment:nth-of-type(4) .support-avatar { background:#fcf2d9; color:#946d27; }
.support-body { flex:1; min-width:0; }
.support-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.support-heading h3 { font-size:15px; font-weight:700; margin:0; color:#2c4233; }
.support-amount { font-size:11px; color:#20814b; padding:4px 8px; background:#edf8f0; border-radius:20px; white-space:nowrap; }
.support-body p { font-size:15px; line-height:1.65; color:#526258; margin:0; }
.support-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:5px; }
.support-like { display:inline-flex; gap:6px; align-items:center; min-height:44px; border:0; background:transparent; color:#68776c; padding:0 5px 0 0; font:inherit; font-size:13px; cursor:pointer; touch-action:manipulation; }
.support-heart { font-size:23px; }
.support-like[aria-pressed="true"] { color:#098845; font-weight:600; }
.support-like:focus-visible { outline:2px solid #0a8f51; outline-offset:3px; border-radius:5px; }
.support-original-count { font-size:11px; color:#8a958d; }
.support-note { margin:18px 0 0; font-size:11px; line-height:1.7; color:#819087; }
@media(max-width:991px) {
 .support-messages { padding:22px 18px; margin-top:28px; }
 .support-messages h2 { font-size:22px; }
 .support-comment { gap:10px; padding:18px 0; }
 .support-avatar { width:34px; height:34px; flex-basis:34px; font-size:11px; }
 .support-body p { font-size:14px; }
 .support-heading h3 { font-size:14px; }
}
@media(max-width:991px) {
 #corpo .resumo-mobile.sticker { position:static!important; top:auto!important; }
}
#donateModal .preset-values { padding-top:14px; }
#donateModal .preset-popular { position:relative; overflow:visible; border-color:#24ca68; }
#donateModal .popular-badge { position:absolute; top:-13px; left:50%; transform:translateX(-50%); display:block; padding:4px 10px; border-radius:20px; background:#0a8f51; color:white; font-family:inherit; font-size:10px; font-weight:700; line-height:1.3; white-space:nowrap; box-shadow:0 2px 6px #0a8f5126; pointer-events:none; }
#donateModal .donation-close { position:absolute; top:10px; right:10px; z-index:10; display:flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; padding:0; margin:0; border:0; border-radius:50%; background:#f3f6f4; color:#526258; cursor:pointer; }
#donateModal .donation-close svg { display:block; width:20px; height:20px; flex-shrink:0; }
#donateModal .donation-close:hover { background:#e7efe9; color:#203c2b; }
#donateModal .donation-close:focus-visible { outline:2px solid #0a8f51; outline-offset:2px; }
#exitHelpModal .exit-close { min-width:44px; min-height:44px; }
#donateModal .main-content > header { position:relative; z-index:0; }
#donateModal .donation-close { z-index:10001; }
#corpo .btn-ajudar, #fixed-mobile .btn-ajudar, .campaign-nav button { display:inline-flex; justify-content:center; align-items:center; gap:9px; }
.cta-heart { display:inline-block; flex-shrink:0; font-family:Arial,sans-serif; font-size:21px; line-height:1; }
#corpo .btn-ajudar, #fixed-mobile .btn-ajudar { box-shadow:0 4px 12px #12884326; }
#corpo .btn-ajudar:hover, #fixed-mobile .btn-ajudar:hover { filter:brightness(.96); }
@media(max-width:991px) {
 #fixed-mobile button.btn-ajudar { font-size:14px; padding-left:12px; padding-right:12px; gap:8px; }
 #fixed-mobile .cta-heart { font-size:20px; }
}
@media(max-width:360px) { #fixed-mobile button.btn-ajudar { font-size:13px; gap:6px; } }
@media(max-width:991px) {
 body:has(#nl-badge-frame) #fixed-mobile { bottom:52px!important; }
 body:has(#nl-badge-frame) { padding-bottom:calc(144px + env(safe-area-inset-bottom)); }
}
#donateModal .preset-popular { margin-top:12px; }
#exitHelpModal .exit-choice.exit-popular { position:relative; overflow:visible; border-color:#24ca68; margin-top:24px; }
#exitHelpModal .exit-popular-badge { position:absolute; top:-13px; left:18px; padding:5px 12px; border-radius:20px; background:#0a8f51; color:#fff; font-family:inherit; font-size:11px; font-weight:700; line-height:1.3; white-space:nowrap; box-shadow:0 2px 6px #0a8f5126; pointer-events:none; }
#donateModal .donor-fields { padding:18px; margin:22px 0; border:1px solid #e0eae3; border-radius:12px; background:#f7faf8; }
#donateModal .donor-fields h3 { font-size:17px; color:#294b35; margin:0 0 8px; line-height:1.4; }
#donateModal .donor-fields p { font-size:12px; line-height:1.6; color:#738077; margin:0 0 14px; }
#donateModal .donor-fields label { display:block; font-size:14px; color:#3f5547; font-weight:600; margin:14px 0 7px; }
#donateModal .donor-fields label span { font-weight:400; color:#7b877f; font-size:12px; }
#donateModal .donor-fields input { display:block; width:100%; box-sizing:border-box; min-height:48px; padding:12px; border:1px solid #d8e2db; border-radius:8px; background:white; color:#293e31; font:inherit; font-size:16px; }
#donateModal .donor-fields input:focus { outline:2px solid #24ca68; outline-offset:1px; }
#donateModal .donor-fields small { display:block; font-size:11px; line-height:1.6; color:#7b877f; margin-top:12px; }
#donateModal .donor-fields .donor-phone-error { color:#b52d2d; margin-top:8px; }
#donateModal .donor-fields [hidden] { display:none!important; }
#donateModal .donor-contact { margin:20px 0; border:1px solid #e0eae3; border-radius:11px; background:#f8faf9; overflow:hidden; }
#donateModal .donor-optin { display:flex; align-items:center; gap:11px; min-height:64px; padding:13px 14px; margin:0; cursor:pointer; font-family:inherit; }
#donateModal .donor-optin > input { width:19px; height:19px; flex:0 0 19px; margin:0; accent-color:#0a8f51; cursor:pointer; }
#donateModal .donor-optin > span:nth-child(2) { flex:1; min-width:0; }
#donateModal .donor-optin strong { display:block; font-size:14px; font-weight:600; color:#35513f; line-height:1.4; }
#donateModal .donor-optin small { display:block; font-size:11px; color:#7a877f; line-height:1.5; margin-top:3px; }
#donateModal .donor-optin-chevron { color:#7c9183; font-size:20px; transition:transform .15s ease; }
#donateModal .donor-optin:has(input:checked) .donor-optin-chevron { transform:rotate(180deg); }
#donateModal .donor-contact .donor-fields { border:0; border-top:1px solid #e0eae3; border-radius:0; padding:4px 16px 16px; margin:0; background:#fff; }
#donateModal .donor-contact [hidden] { display:none!important; }
