/* CharityGlow – Single campaign Layout 2 */
.cg-l2{--cg-brand:#15803D;max-width:1180px;margin:0 auto 40px;color:#14231f;box-sizing:border-box}
.cg-l2 *{box-sizing:border-box}
.cg-l2__hero{position:relative;min-height:360px;border-radius:0 0 28px 28px;overflow:hidden;display:flex;align-items:flex-end;background:linear-gradient(135deg,var(--cg-brand),color-mix(in srgb,var(--cg-brand) 55%,#000))}
.cg-l2__hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cg-l2__hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.72))}
.cg-l2__hero--plain .cg-l2__hero-shade{background:radial-gradient(circle at 15px 15px,rgba(255,255,255,.12) 2px,transparent 2.5px) 0 0/30px 30px}
.cg-l2__hero-text{position:relative;padding:40px 40px 72px;color:#fff;max-width:820px}
.cg-l2__badge{display:inline-block;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(4px);font-size:13px;font-weight:700}
.cg-l2__title{margin:12px 0 0;color:#fff;font-size:clamp(28px,4vw,46px);line-height:1.15;font-weight:800}
.cg-l2__grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;padding:0 24px;margin-top:-48px;position:relative}
.cg-l2__stats{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:flex-end;padding:22px 26px;border-radius:20px;background:#fff;box-shadow:0 16px 40px -20px rgba(0,0,0,.35)}
.cg-l2__stat{display:flex;flex-direction:column}
.cg-l2__stat-val{font-size:24px;font-weight:800;color:var(--cg-brand)}
.cg-l2__stat-lbl{font-size:13px;color:#6b7a75;text-transform:uppercase;letter-spacing:.04em}
.cg-l2__progress{flex-basis:100%;height:10px;border-radius:999px;background:#e8efec;overflow:hidden}
.cg-l2__progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cg-brand),color-mix(in srgb,var(--cg-brand) 60%,#fff))}
.cg-l2__progress-lbl{margin:-4px 0 0;font-size:13px;font-weight:600;color:#54706a}
.cg-l2__card{margin-top:22px;padding:26px;border-radius:20px;background:#fff;border:1px solid #e5eeeb}
.cg-l2__h2{margin:0 0 14px;font-size:20px;font-weight:800}
.cg-l2__desc{line-height:1.75;font-size:16px}
.cg-l2__desc img,.cg-l2__desc iframe{max-width:100%;border-radius:12px}
.cg-l2__donors{list-style:none;margin:0;padding:0}
.cg-l2__donors li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed #e5eeeb}
.cg-l2__donors li:last-child{border-bottom:0}
.cg-l2__aside{position:relative}
.cg-l2__donate{position:sticky;top:24px;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 24px 50px -24px rgba(0,0,0,.45)}
.cg-l2__donate-head{padding:22px 24px;color:#fff;background:radial-gradient(circle at 12px 12px,rgba(255,255,255,.14) 2px,transparent 2.5px) 0 0/24px 24px,linear-gradient(135deg,var(--cg-brand),color-mix(in srgb,var(--cg-brand) 60%,#000))}
.cg-l2__donate-head h2{margin:0;color:#fff;font-size:22px;font-weight:800}
.cg-l2__donate-head p{margin:4px 0 0;opacity:.9;font-size:14px}
.cg-l2__donate-body{padding:6px 18px 18px}
.cg-l2__ended{padding:16px;text-align:center;font-weight:600}
@media (max-width:960px){.cg-l2__grid{grid-template-columns:1fr;padding:0 14px}.cg-l2__donate{position:static}.cg-l2__hero{min-height:280px;border-radius:0 0 20px 20px}.cg-l2__hero-text{padding:28px 20px 70px}}
/* Stack when the theme content area is narrow, whatever the viewport. */
.cg-l2{container-type:inline-size}
@container (max-width:820px){.cg-l2__grid{grid-template-columns:1fr}.cg-l2__donate{position:static}.cg-l2__aside{max-width:560px;width:100%;margin:0 auto}}
.cg-l2__video{position:relative;aspect-ratio:16/9;width:100%;border-radius:20px;overflow:hidden;background:#000;margin-bottom:24px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.cg-l2__video iframe,.cg-l2__video video{position:absolute;inset:0;width:100%;height:100%;border:0}
