/* Interações reconstituídas, sem modificar os estilos visuais originais. */
.modal-overlay.is-open{opacity:1;pointer-events:auto}
.modal-overlay.is-open .modal-box{transform:translateY(0)}
body.modal-open{overflow:hidden}
.pill-btn.selecionado{border-color:var(--azul);background:var(--azul-nevoa);color:var(--azul-escuro);box-shadow:0 0 0 1px var(--azul)}
.doar-flutuante.is-visible{transform:translateY(0)}
.faq-item.is-open{border-color:var(--azul-linha);box-shadow:var(--sombra-card)}
.faq-item.is-open .faq-q .seta{transform:rotate(180deg)}
.faq-item.is-open .faq-a{max-height:500px}
.faq-q:focus-visible,.js-open-modal:focus-visible,.pill-btn:focus-visible,.btn-modal-cta:focus-visible{outline:3px solid var(--amarelo);outline-offset:3px}
.btn-copiar-pix[disabled]{opacity:.7;cursor:not-allowed;background:var(--azul)}
.field-label{display:block;color:var(--tinta);font-weight:700;font-size:.82rem;margin:14px 0 5px}
.field-input{width:100%;padding:13px 12px;background:var(--branco);border:1.5px solid var(--borda);border-radius:9px;font:inherit;color:var(--tinta)}
.field-input:focus{outline:2px solid var(--azul-linha);border-color:var(--azul)}
.dados-info{font-size:.95rem;margin-bottom:12px}
.dados-info strong{color:var(--azul-escuro)}
.gateway-aviso{background:var(--azul-nevoa);color:var(--azul-escuro);border-radius:9px;padding:12px;margin-top:17px;font-size:.83rem;line-height:1.5}
.btn-voltar{display:block;margin:0 auto 14px;color:var(--azul);font-weight:750;font-size:.85rem}
.btn-modal-cta:disabled{animation:none;opacity:.65;cursor:not-allowed}
.donation-step.sf-hidden{display:none!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Reconstrução funcional: preserva layout do arquivo HTML original */
.consent-label{display:flex;align-items:flex-start;gap:9px;font-size:.78rem;line-height:1.5;margin-top:17px;color:var(--tinta)}
.consent-label input{accent-color:var(--azul);width:17px;height:17px;flex:none;margin-top:3px}
.consent-label a{color:var(--azul);text-decoration:underline}
.bot-field{position:absolute;left:-99999px;opacity:0;pointer-events:none}
.form-status{padding:11px;border-radius:8px;font-size:.8rem;margin-top:12px;line-height:1.55}
.form-status.error{background:#fff0f0;color:#a31515}
.form-status.ok{background:#e9f8ee;color:#155d39}
.btn-modal-cta[disabled]{opacity:.65;cursor:wait;animation:none}
.modal-fechar{cursor:pointer}
.faq-q{cursor:pointer}
