/* ============ Partners + Give ============
   Built on shop.css's card system (.shop-card/.sc-img/.sc-body) — this file only adds what
   a partner/fundraiser card needs on top of that: a logo tile, a kind chip is already
   .sc-cat, a blurb, a visit link, and the fundraiser strip. */

/* ---- partner card ---- */
.partner-card{ cursor:default; }
.partner-card:hover{ transform:none; box-shadow:none; border-color:var(--line); }
.pc-logo{ background:radial-gradient(120% 90% at 50% 18%, #221e24 0%, #120f13 62%); }
.pc-logo img{ width:100%; height:100%; object-fit:contain; padding:14%; }
.pc-fallback{ display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.pc-fallback b{ font-family:var(--f-disp); font-weight:400; font-size:clamp(30px,5vw,44px); letter-spacing:.03em; color:var(--fg-3); }
.pc-fallback-lg b{ font-size:clamp(38px,7vw,58px); }
.pc-blurb{ font-size:14px; color:var(--fg-3); line-height:1.5; margin:2px 0 0; }
.pc-visit{ display:inline-flex; align-items:center; margin-top:6px; color:var(--gold); font-family:var(--f-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; }
.pc-visit:hover{ text-decoration:underline; }
.pc-program{ margin-top:10px; padding:10px 12px; border:1px solid rgba(233,180,76,.3); border-radius:8px; background:rgba(233,180,76,.05); }
.pc-program p{ margin:0; font-size:13px; color:var(--fg-2); }
.pc-program code{ font-family:var(--f-mono); color:var(--gold); background:rgba(233,180,76,.12); padding:2px 6px; border-radius:4px; font-size:12.5px; letter-spacing:.03em; }
.pc-give{ display:inline-flex; margin-top:6px; color:var(--fg-3); font-family:var(--f-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; }
.pc-give:hover{ color:var(--gold); }

.partners-grid{ margin-top:0; }
#partnersKinds{ margin-bottom:22px; }

/* ---- give page ---- */
.give-page .wrap{ max-width:760px; }
.give-skel{ max-width:520px; margin:0 auto; }
.give-hero{ text-align:center; padding-bottom:8px; }
.give-hero-logo{ width:112px; height:112px; margin:0 auto 20px; border-radius:16px; overflow:hidden; border:1px solid var(--line); background:radial-gradient(120% 90% at 50% 18%, #221e24 0%, #120f13 62%); display:flex; align-items:center; justify-content:center; }
.give-hero-logo img{ width:100%; height:100%; object-fit:contain; padding:12%; }
.give-hero .eyebrow{ justify-content:center; }
.give-hero h1{ font-size:clamp(30px,5.4vw,50px); margin:6px 0 14px; text-wrap:balance; }
.give-blurb{ color:var(--fg-2); max-width:56ch; margin:0 auto 22px; }
.give-stat{ display:flex; flex-direction:column; align-items:center; gap:4px; margin-bottom:18px; }
.give-stat-amt{ font-family:var(--f-disp); font-weight:400; font-size:clamp(38px,7vw,56px); color:var(--fg); letter-spacing:.01em; }
.give-stat-lbl{ font-family:var(--f-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--fg-3); }
.give-progress{ max-width:420px; margin:0 auto 8px; }
.give-progress-bar{ height:10px; border-radius:6px; background:var(--bg-3); overflow:hidden; border:1px solid var(--line); }
.give-progress-fill{ height:100%; border-radius:6px; background:linear-gradient(90deg,var(--gold-deep),var(--gold)); transition:width .4s ease; }
.give-progress-lbl{ margin-top:8px; font-size:12.5px; color:var(--fg-3); }

.give-codes{ display:flex; flex-direction:column; gap:12px; margin:30px 0; }
.give-code-card{ padding:16px 18px; border:1px solid var(--line-strong); border-radius:10px; background:var(--bg-1); text-align:center; }
.give-code-use{ margin:0 0 6px; font-size:15px; color:var(--fg); }
.give-code-use b{ font-family:var(--f-mono); color:var(--gold); background:rgba(233,180,76,.12); padding:3px 9px; border-radius:5px; letter-spacing:.04em; }
.give-code-line{ margin:0; font-size:13.5px; color:var(--fg-3); }
.give-none{ text-align:center; color:var(--fg-3); margin:26px 0; }
.give-cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:20px; }
.give-cta .btn-accent, .give-cta .btn-ghost{ flex:0 1 220px; justify-content:center; }

@media (max-width:560px){
  .give-hero-logo{ width:90px; height:90px; }
  .give-stat-amt{ font-size:38px; }
  .give-cta .btn-accent, .give-cta .btn-ghost{ flex:1 1 100%; }
}
