.cspp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;margin:20px 0}.cspp-card{border:1px solid #e2e2e2;border-radius:10px;padding:16px;background:#fff;box-shadow:0 1px 3px rgb(0 0 0 / .06);display:flex;flex-direction:column}.cspp-card.cspp-full{opacity:.85}.cspp-photo,.cspp-photo-placeholder{width:100%;height:180px;object-fit:cover;border-radius:6px;background:#f0f0f0;margin-bottom:10px}.cspp-name{margin:4px 0;font-size:1.1em}.cspp-meta{color:#666;font-size:.85em;margin:0 0 8px}.cspp-progress-bar{width:100%;height:12px;background:var(--cspp-track,#eee);border-radius:6px;overflow:hidden;margin-bottom:6px}.cspp-progress-fill{height:100%;background:var(--cspp-primary,#2e9e46);transition:width 0.4s ease}.cspp-progress-label{font-size:.85em;color:#444;margin:0 0 10px;display:flex;align-items:center;gap:8px}.cspp-badge{background:var(--cspp-badge,#2e9e46);color:#fff;font-size:.75em;padding:2px 8px;border-radius:10px}.cspp-tiers{display:flex;flex-wrap:wrap;gap:var(--cspp-btn-gap,8px);margin-bottom:10px}.cspp-tier-btn{border:1px solid var(--cspp-button,#2e9e46);background:#fff;color:var(--cspp-button,#2e9e46);border-radius:var(--cspp-btn-radius,20px);padding:var(--cspp-btn-padding,6px 14px);font-size:var(--cspp-btn-font-size,14px);cursor:pointer;line-height:1.2}.cspp-tier-btn:hover,.cspp-tier-btn.cspp-active{background:var(--cspp-button,#2e9e46);color:#fff}.cspp-tier-btn:disabled{opacity:.4;cursor:not-allowed}.cspp-custom-wrap{display:flex;gap:6px;align-items:center}.cspp-custom-amount{width:100px;padding:5px;border-radius:6px;border:1px solid #ccc}.cspp-btn-disabled{background:#ccc;border:none;color:#666;padding:8px;border-radius:6px;cursor:not-allowed}.cspp-selected-tier{font-size:.9em;margin-bottom:8px}.cspp-change-tier{background:none;border:none;color:var(--cspp-button,#2e9e46);text-decoration:underline;cursor:pointer;font-size:.85em}.cspp-paypal-button-container{min-height:45px;margin-top:6px}.cspp-status-msg{font-size:.85em;margin-top:6px}.cspp-controls{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.cspp-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:24px 0 10px}.cspp-page-prev,.cspp-page-next{border:1px solid var(--cspp-button,#2e9e46);background:#fff;color:var(--cspp-button,#2e9e46);border-radius:var(--cspp-btn-radius,20px);padding:var(--cspp-btn-padding,6px 14px);font-size:var(--cspp-btn-font-size,14px);cursor:pointer}.cspp-page-prev:hover:not(:disabled),.cspp-page-next:hover:not(:disabled){background:var(--cspp-button,#2e9e46);color:#fff}.cspp-page-prev:disabled,.cspp-page-next:disabled{opacity:.35;cursor:not-allowed}.cspp-page-status{font-size:.9em;color:#444}.cspp-grid[data-loading="1"]{opacity:.5;pointer-events:none;transition:opacity 0.15s ease}.cspp-bio-link{display:inline-block;border:1px solid var(--cspp-bio-button,#555);background:#fff;color:var(--cspp-bio-button,#555);border-radius:var(--cspp-btn-radius,20px);padding:var(--cspp-btn-padding,6px 14px);font-size:var(--cspp-btn-font-size,14px);cursor:pointer;margin:0 0 10px;line-height:1.2;width:fit-content;transition:background 0.15s ease,color 0.15s ease}.cspp-bio-link::before{content:"🛈";margin-right:6px}.cspp-bio-link:hover{background:var(--cspp-bio-button,#555);color:#fff}.cspp-modal-overlay{display:none;position:fixed;inset:0;background:rgb(0 0 0 / .5);z-index:100000;align-items:center;justify-content:center;padding:20px}.cspp-modal-overlay.cspp-open{display:flex}.cspp-modal{background:#fff;border-radius:10px;max-width:480px;width:100%;max-height:80vh;overflow-y:auto;padding:24px;position:relative}.cspp-modal-close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:1.4em;cursor:pointer;color:#888}.cspp-modal h3{margin-top:0}.cspp-general-donate-form{display:inline-block;margin:10px 0}.cspp-general-donate-btn{font-weight:600}:root{--cspp-primary:#ffa100;--cspp-track:#156f48;--cspp-badge:#2e9e46;--cspp-button:#610b9c;--cspp-bio-button:#610b9c;--cspp-btn-radius:10px;--cspp-btn-padding:13px 19px;--cspp-btn-gap:10px;--cspp-btn-font-size:18px}