/*!
 * CharityGlow widgets — self-contained, theme-independent styles for:
 * [charityglow_stats] [charityglow_progress_bar] [charityglow_recent_donations]
 * [charityglow_donor_wall] [charityglow_how_it_works] [charityglow_payment_methods]
 */
.charityglow-stats,.charityglow-progress-bar,.charityglow-recent-donations,.charityglow-donor-wall,.charityglow-how-it-works,.charityglow-payment-methods,.charityglow-no-donations{
	--cgw-primary:var(--primary-color,#16645A);--cgw-ink:#0f172a;--cgw-mute:#64748b;--cgw-line:#e5e7eb;--cgw-soft:#f8fafc;--cgw-radius:16px;
	box-sizing:border-box;font-family:inherit;color:var(--cgw-ink);line-height:1.5;margin:0 0 24px;text-align:left}
:is(.charityglow-stats,.charityglow-progress-bar,.charityglow-recent-donations,.charityglow-donor-wall,.charityglow-how-it-works,.charityglow-payment-methods) *,
:is(.charityglow-stats,.charityglow-progress-bar,.charityglow-recent-donations,.charityglow-donor-wall,.charityglow-how-it-works,.charityglow-payment-methods) *::before,
:is(.charityglow-stats,.charityglow-progress-bar,.charityglow-recent-donations,.charityglow-donor-wall,.charityglow-how-it-works,.charityglow-payment-methods) *::after{box-sizing:border-box}
:is(.charityglow-stats,.charityglow-progress-bar,.charityglow-recent-donations,.charityglow-donor-wall,.charityglow-how-it-works,.charityglow-payment-methods) :is(h2,h3,p,ul,li){margin:0;padding:0;font-family:inherit;letter-spacing:normal;text-transform:none}
:is(.charityglow-recent-donations,.charityglow-donor-wall) ul{list-style:none!important}
:is(.charityglow-recent-donations,.charityglow-donor-wall) li{list-style:none!important;margin:0!important}
:is(.charityglow-recent-donations,.charityglow-donor-wall) li::before,:is(.charityglow-recent-donations,.charityglow-donor-wall) li::marker{content:none!important}
:is(.charityglow-stats,.charityglow-how-it-works,.charityglow-payment-methods,.charityglow-progress-bar) svg{display:block;flex:none;max-width:none}

/* ---------- Stats ---------- */
.charityglow-stats{display:grid;grid-template-columns:repeat(var(--columns,3),minmax(0,1fr));gap:16px}
.charityglow-stats .charityglow-stat-item{background:#fff;border:1px solid var(--cgw-line);border-radius:var(--cgw-radius);padding:22px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.charityglow-stats .stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--cgw-primary);background:color-mix(in srgb,var(--cgw-primary) 12%,#fff);margin-bottom:6px}
.charityglow-stats .stat-icon svg{width:22px;height:22px}
.charityglow-stats .stat-value{font-size:clamp(24px,3vw,32px);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--cgw-ink)}
.charityglow-stats .stat-label{font-size:13px;font-weight:600;color:var(--cgw-mute);text-transform:uppercase;letter-spacing:.06em}
.charityglow-stats-card .charityglow-stat-item{border-top:4px solid var(--cgw-primary)}
.charityglow-stats-minimal .charityglow-stat-item{background:transparent;border:0;box-shadow:none;padding:8px 0;align-items:center;text-align:center}
.charityglow-stats-minimal .stat-icon{margin:0 auto 6px}

/* ---------- Progress bar ---------- */
.charityglow-progress-bar{background:#fff;border:1px solid var(--cgw-line);border-radius:var(--cgw-radius);padding:20px}
.charityglow-progress-bar .progress-stats{display:flex;flex-wrap:wrap;gap:12px 28px;margin-bottom:14px}
.charityglow-progress-bar .stat{display:flex;flex-direction:column;min-width:70px}
.charityglow-progress-bar .stat strong{font-size:20px;font-weight:800;line-height:1.2;color:var(--cgw-ink)}
.charityglow-progress-bar .stat:first-child strong{color:var(--cgw-primary)}
.charityglow-progress-bar .stat span{font-size:12px;color:var(--cgw-mute);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.charityglow-progress-bar .progress-bar-container{width:100%}
.charityglow-progress-bar .progress-bar{height:12px;width:100%;background:#eef2f7;border-radius:999px;overflow:hidden;margin:0;padding:0;border:0}
.charityglow-progress-bar .progress-fill{height:100%;max-width:100%;border-radius:999px;background:var(--cgw-primary);background-image:linear-gradient(90deg,rgba(255,255,255,.0),rgba(255,255,255,.25));transition:width 1s ease}

/* ---------- Recent donations & donor wall ---------- */
.charityglow-recent-donations,.charityglow-donor-wall{background:#fff;border:1px solid var(--cgw-line);border-radius:var(--cgw-radius);padding:8px 18px}
.charityglow-recent-donations .donations-title,.charityglow-donor-wall>h3{font-size:16px;font-weight:700;padding:12px 0 6px;color:var(--cgw-ink)}
.charityglow-recent-donations .donations-list,.charityglow-donor-wall .donor-list{display:flex;flex-direction:column}
.charityglow-recent-donations .donation-item,.charityglow-donor-wall .donor-item{display:flex!important;align-items:center;gap:12px;padding:12px 0!important;border-bottom:1px solid var(--cgw-line)}
.charityglow-recent-donations .donation-item:last-child,.charityglow-donor-wall .donor-item:last-child{border-bottom:0}
:is(.charityglow-recent-donations,.charityglow-donor-wall) .donor-avatar{flex:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff;background:var(--cgw-primary);overflow:hidden}
:is(.charityglow-recent-donations,.charityglow-donor-wall) .donor-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.charityglow-recent-donations .donation-info{flex:1;min-width:0}
.charityglow-recent-donations .donation-main{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
:is(.charityglow-recent-donations,.charityglow-donor-wall) .donor-name{font-weight:600;font-size:15px;color:var(--cgw-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.charityglow-recent-donations,.charityglow-donor-wall) :is(.donation-amount,.donor-amount){font-weight:700;color:var(--cgw-primary);white-space:nowrap}
.charityglow-recent-donations .donation-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--cgw-mute)}
.charityglow-recent-donations .donation-message{font-size:13px;color:var(--cgw-mute);font-style:italic;margin-top:4px}
.charityglow-donor-wall .donor-info{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto;gap:0 10px;align-items:baseline}
.charityglow-donor-wall .donor-time{grid-column:1/-1;font-size:13px;color:var(--cgw-mute)}
.charityglow-donations-card .donation-item{background:var(--cgw-soft);border:0!important;border-radius:12px;padding:12px!important;margin:6px 0!important}
.charityglow-donations-card{padding:10px}
.charityglow-donations-compact .donation-item{padding:8px 0!important}
.charityglow-donations-compact .donor-avatar{width:30px;height:30px;font-size:13px}
.charityglow-no-donations p{margin:0;padding:16px;background:#f8fafc;border:1px dashed #e5e7eb;border-radius:12px;color:#64748b;text-align:center}

/* ---------- How it works ---------- */
.charityglow-how-it-works{text-align:center}
.charityglow-how-it-works .hiw-header{margin-bottom:28px}
.charityglow-how-it-works .hiw-title{font-size:clamp(22px,3vw,30px);font-weight:800;line-height:1.2;color:var(--cgw-ink)}
.charityglow-how-it-works .hiw-subtitle{color:var(--cgw-mute);margin-top:6px}
.charityglow-how-it-works .hiw-steps{display:grid;grid-template-columns:repeat(var(--columns,4),minmax(0,1fr));gap:20px}
.charityglow-how-it-works .hiw-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 12px}
.charityglow-how-it-works .hiw-step-icon-wrapper{position:relative;display:inline-flex}
.charityglow-how-it-works .hiw-step-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;line-height:1;background:color-mix(in srgb,var(--cgw-primary) 12%,#fff)}
.charityglow-how-it-works .hiw-step-icon img,.charityglow-how-it-works .hiw-step-icon svg{width:32px;height:32px}
.charityglow-how-it-works .hiw-step-number{position:absolute;top:-4px;right:-4px;width:26px;height:26px;border-radius:50%;background:var(--cgw-ink);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;border:3px solid #fff;z-index:2}
.charityglow-how-it-works .hiw-step-title{font-size:17px;font-weight:700;color:var(--cgw-ink)}
.charityglow-how-it-works .hiw-step-desc{font-size:14px;color:var(--cgw-mute);margin-top:4px}
.charityglow-how-it-works .hiw-connector{position:absolute;top:52px;right:-28px;width:36px;color:#cbd5e1;z-index:1}
.charityglow-how-it-works .hiw-connector svg{width:36px;height:12px}
.charityglow-hiw-cards .hiw-step{background:#fff;border:1px solid var(--cgw-line);border-radius:var(--cgw-radius);padding:28px 18px;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.charityglow-hiw-cards .hiw-step-icon{border-radius:16px}
.charityglow-hiw-timeline .hiw-steps{grid-template-columns:1fr;max-width:560px;margin:0 auto;text-align:left}
.charityglow-hiw-timeline .hiw-step{flex-direction:row;align-items:flex-start;text-align:left}
.charityglow-hiw-minimal .hiw-step-icon{background:transparent;width:auto;height:auto}

/* ---------- Payment methods ---------- */
.charityglow-payment-methods .pm-header{text-align:center;margin-bottom:24px}
.charityglow-payment-methods .pm-title{font-size:clamp(22px,3vw,30px);font-weight:800;line-height:1.2;color:var(--cgw-ink)}
.charityglow-payment-methods .pm-subtitle{color:var(--cgw-mute);margin-top:6px}
.charityglow-payment-methods .pm-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.charityglow-payment-methods .pm-method{position:relative;display:flex;align-items:flex-start;gap:14px;background:#fff;border:1px solid var(--cgw-line);border-radius:var(--cgw-radius);padding:18px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.charityglow-payment-methods .pm-icon{flex:none;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--method-color,var(--cgw-primary));background:color-mix(in srgb,var(--method-color,var(--cgw-primary)) 10%,#fff)}
.charityglow-payment-methods .pm-icon svg{width:28px;height:28px}
.charityglow-payment-methods .pm-content{flex:1;min-width:0}
.charityglow-payment-methods .pm-name{font-size:16px;font-weight:700;color:var(--cgw-ink)}
.charityglow-payment-methods .pm-desc{font-size:13px;color:var(--cgw-mute);margin-top:2px}
.charityglow-payment-methods .pm-cards{display:flex;gap:6px;margin-top:10px}
.charityglow-payment-methods .pm-cards span{display:inline-flex}
.charityglow-payment-methods .pm-cards svg{width:36px;height:24px}
.charityglow-payment-methods .pm-check{position:absolute;top:14px;right:14px;width:22px;height:22px;border-radius:50%;background:#10b981;color:#fff;display:flex;align-items:center;justify-content:center}
.charityglow-payment-methods .pm-check svg{width:13px;height:13px}
.charityglow-payment-methods .pm-security{margin-top:18px}
.charityglow-payment-methods .security-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.charityglow-payment-methods .security-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--cgw-soft);border:1px solid var(--cgw-line);font-size:13px;font-weight:600;color:#334155}
.charityglow-payment-methods .security-badge svg{width:16px;height:16px;color:#10b981}

/* ---------- Responsive ---------- */
@media (max-width:900px){
	.charityglow-how-it-works .hiw-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
	.charityglow-how-it-works .hiw-connector{display:none}
	.charityglow-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
	.charityglow-stats,.charityglow-how-it-works .hiw-steps{grid-template-columns:1fr}
}
