html{scroll-behavior:smooth}
body{overflow-x:hidden}
section[id]{scroll-margin-top:5rem}

/* Mobile menu */
.mobile-menu{border-top:1px solid #e5e7eb;background:#fff;padding:.5rem 1rem 1rem}
.mobile-menu[hidden]{display:none}
.mobile-menu a{display:block;padding:.75rem 0;font-size:.875rem;font-weight:500;color:inherit}
.mobile-menu a:hover{color:#122F2A}
.mobile-menu .mobile-menu-cta{margin-top:.5rem;text-align:center;background:#FFA415;color:#fff;border-radius:.5rem;font-weight:700}
.mobile-menu .mobile-menu-cta:hover{color:#fff}

/* Share toast */
.share-toast{position:absolute;left:50%;bottom:calc(100% + .5rem);transform:translateX(-50%);background:#122F2A;color:#fff;font-size:.75rem;font-weight:600;padding:.375rem .75rem;border-radius:.5rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.share-toast.is-visible{opacity:1}

/* Donation tiers */
.tier{border-color:#e5e7eb;background:#fff}
.tier:hover{border-color:rgba(255,164,21,.6);background:rgba(255,164,21,.05)}
.tier.is-popular{border-color:rgba(97,190,4,.5);background:linear-gradient(to bottom right,rgba(97,190,4,.05),#fff)}
.tier.is-popular:hover{border-color:#61BE04}
.tier.is-selected,.tier.is-selected:hover{border-color:#FFA415;background:linear-gradient(to bottom right,rgba(255,164,21,.1),rgba(255,164,21,.05));box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.tier-badge{display:none;position:absolute;top:-.75rem;left:50%;transform:translateX(-50%);color:#fff;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;padding:.125rem .625rem;border-radius:9999px;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.tier.is-popular .badge-popular{display:block;background:#61BE04}
.tier.is-selected .badge-popular{display:none}
.tier.is-selected .badge-selected{display:block;background:#FFA415}
.tier-radio{border-color:#d1d5db}
.tier:hover .tier-radio{border-color:#FFA415}
.tier.is-selected .tier-radio{background:#FFA415;border-color:#FFA415}
.tier-check{display:none}
.tier.is-selected .tier-check{display:block}
.tier-price{color:#122F2A}
.tier-label{color:#61BE04}
.tier.is-selected .tier-price,.tier.is-selected .tier-label{color:#FFA415}

/* Quick-amount chips */
.chip{background:#fff;color:#122F2A;border-color:#e5e7eb}
.chip:hover{border-color:#FFA415;color:#FFA415;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.chip.is-selected,.chip.is-selected:hover{background:#FFA415;color:#fff;border-color:#FFA415;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);transform:scale(1.05)}

[hidden]{display:none!important}
#paypal-button-container paypal-button,#paypal-button-container paypal-basic-card-container{display:block;width:100%;margin-bottom:12px}
#paypal-button-container paypal-button:last-child,#paypal-button-container paypal-basic-card-container:last-child{margin-bottom:0}
.floating-donate{position:fixed;right:1.5rem;bottom:1.5rem;z-index:40;width:4.5rem;height:4.5rem;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;background:radial-gradient(circle at 30% 25%,#FFC04D,#FFA415 55%,#E8820C);color:#fff;font-weight:900;font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;box-shadow:0 10px 25px rgba(255,164,21,.5),0 4px 10px rgba(0,0,0,.2);animation:fd-pop .6s cubic-bezier(.34,1.56,.64,1) backwards,fd-float 3.5s ease-in-out .6s infinite;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s,box-shadow .3s}
.floating-donate::before,.floating-donate::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #FFA415;opacity:0;pointer-events:none;animation:fd-ring 2.4s ease-out infinite}
.floating-donate::after{animation-delay:1.2s}
.floating-donate svg{width:1.5rem;height:1.5rem;transform-origin:center;animation:fd-beat 1.6s ease-in-out infinite}
.floating-donate:hover{transform:scale(1.12) rotate(-6deg);box-shadow:0 14px 32px rgba(255,164,21,.65),0 6px 14px rgba(0,0,0,.25)}
.floating-donate:active{transform:scale(.95)}
.floating-donate:focus-visible{outline:3px solid #122F2A;outline-offset:3px}
.floating-donate.is-hidden{opacity:0;transform:scale(.4);pointer-events:none;animation:none}
.floating-donate.is-hidden::before,.floating-donate.is-hidden::after{animation:none}
@keyframes fd-pop{from{opacity:0;transform:scale(.3) translateY(2rem)}to{opacity:1;transform:none}}
@keyframes fd-float{0%,100%{translate:0 0}50%{translate:0 -6px}}
@keyframes fd-beat{0%,100%{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.18)}60%{transform:scale(1)}}
@keyframes fd-ring{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
@media (max-width:640px){.floating-donate{right:1rem;bottom:1rem;width:4rem;height:4rem;font-size:.625rem}.floating-donate svg{width:1.25rem;height:1.25rem}}
@media (prefers-reduced-motion:reduce){.floating-donate,.floating-donate::before,.floating-donate::after,.floating-donate svg{animation:none}}
