/* The Kindness Orbit: shared charity-search loading experience */
.charity-search-loader[hidden] { display: none !important; }
.charity-search-loader { align-items: center; background: radial-gradient(circle at 20% 15%,rgba(85,203,176,.24),transparent 28%),radial-gradient(circle at 80% 80%,rgba(255,215,96,.22),transparent 30%),rgba(5,31,54,.96); display: flex; inset: 0; justify-content: center; opacity: 0; padding: 22px; position: fixed; transition: opacity .2s ease; z-index: 100000; }
.charity-search-loader.is-visible { opacity: 1; }
.charity-search-is-loading { overflow: hidden; }
.charity-search-loader-card { color: #fff; max-width: 520px; text-align: center; width: 100%; }
.charity-search-loader-scene { height: 190px; margin: 0 auto 18px; position: relative; width: 190px; }
.charity-loader-heart { align-items: center; background: #fff; border: 7px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 0 0 13px rgba(255,255,255,.08),0 15px 38px rgba(0,0,0,.3); color: #e8334f; display: flex; font-size: 3rem; height: 92px; justify-content: center; left: 49px; position: absolute; top: 49px; width: 92px; z-index: 3; }
.charity-orbit { border: 2px dashed rgba(255,255,255,.46); border-radius: 50%; inset: 9px; position: absolute; }
.charity-orbit i { align-items: center; background: #ffd760; border: 4px solid #fff; border-radius: 50%; color: #614900; display: flex; font-size: .9rem; height: 36px; justify-content: center; left: 17px; position: absolute; top: 3px; width: 36px; }
.charity-orbit-two { inset: 23px; }
.charity-orbit-two i { background: #55cbb0; color: #073d35; left: auto; right: -5px; top: 83px; }
.charity-orbit-three { border-style: dotted; inset: 0; }
.charity-orbit-three i { background: #fff; color: #0b5678; left: 74px; top: 150px; }
.charity-spark { background: #ffd760; border-radius: 50%; height: 8px; position: absolute; width: 8px; }
.charity-spark-one { left: 3px; top: 64px; }
.charity-spark-two { right: 5px; top: 42px; }
.charity-spark-three { bottom: 15px; right: 32px; }
.charity-search-loader-card > p { color: #fff; font-size: clamp(1.55rem,4vw,2.25rem); font-weight: 900; letter-spacing: -.02em; line-height: 1.15; margin: 0 0 9px; text-shadow: none; }
.charity-search-loader-card > small { color: #d9e7f1; display: block; font-size: .98rem; }
@media (prefers-reduced-motion: no-preference) {
    .charity-loader-heart { animation: charity-heartbeat 1.05s ease-in-out infinite; }
    .charity-orbit-one { animation: charity-orbit 3.2s linear infinite; }
    .charity-orbit-two { animation: charity-orbit-reverse 2.4s linear infinite; }
    .charity-orbit-three { animation: charity-orbit 4.5s linear infinite; }
    .charity-spark { animation: charity-sparkle 1.1s ease-in-out infinite alternate; }
    .charity-spark-two { animation-delay: .35s; }
    .charity-spark-three { animation-delay: .7s; }
}
@keyframes charity-heartbeat { 0%,100% { transform: scale(1); } 45% { transform: scale(1.12) rotate(-3deg); } 65% { transform: scale(1.05) rotate(3deg); } }
@keyframes charity-orbit { to { transform: rotate(360deg); } }
@keyframes charity-orbit-reverse { to { transform: rotate(-360deg); } }
@keyframes charity-sparkle { from { opacity: .25; transform: scale(.55); } to { opacity: 1; transform: scale(1.35); } }
