/* Fundraiser pages (components/fundraiser/*). Same language as the donor dashboard: Roboto Condensed headings, Poppins pill buttons, the logo's blue #006DB8 / green #8BC53F. */
.zfr { --b: #006db8; --navy: #006db8; --g: #8bc53f; --t: #344054; --m: #667085; --line: #e4e7ec;
  background: linear-gradient(180deg, #f3f8fd 0%, #fff 420px); padding: 56px 16px 80px; font-family: "Roboto", system-ui, sans-serif; color: var(--t); }
.zfr *, .zfr *::before, .zfr *::after { box-sizing: border-box; }
.zfr__wrap { max-width: 1100px; margin: 0 auto; display: grid; gap: 32px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 900px) { .zfr__wrap { grid-template-columns: minmax(0, 1fr) 360px; } .zfr-card { position: sticky; top: 110px; } }
.zfr h1 { font: 600 36px/1.12 "Roboto Condensed", sans-serif; color: var(--navy); margin: 0 0 10px; }
.zfr p { margin: 0; }
.zfr-img { width: 100%; max-height: 440px; object-fit: cover; border-radius: 20px; margin-bottom: 22px; display: block; }
.zfr-eyebrow { font: 600 12px/1 "Poppins", sans-serif; letter-spacing: 0.08em; text-transform: uppercase; color: var(--b); margin-bottom: 10px !important; }
.zfr-muted { color: var(--m); font-size: 14px; line-height: 1.5; }
.zfr-story { margin-top: 22px; display: grid; gap: 14px; font-size: 17px; line-height: 1.65; }
.zfr-card { background: #fff; border-radius: 20px; padding: 24px; box-shadow: 0 1px 2px rgb(16 24 40 / 0.06), 0 12px 32px rgb(0 85 146 / 0.08); border: 1px solid var(--line); display: grid; gap: 12px; }
.zfr-raised { font-size: 15px; color: var(--m); } .zfr-raised b { font: 600 30px/1.1 "Roboto Condensed", sans-serif; color: var(--navy); }
.zfr-bar { height: 10px; background: #e8eef6; border-radius: 99px; overflow: hidden; } .zfr-bar span { display: block; height: 100%; background: var(--g); border-radius: 99px; }
.zfr-btn { display: inline-flex; align-items: center; justify-content: center; height: 48px; border-radius: 50px; background: var(--b); color: #fff !important; font: 600 15px/1 "Poppins", sans-serif; text-decoration: none !important; }
.zfr-btn:hover { background: #005a99; }
.zfr-ended { background: #f5f9fd; border-radius: 12px; padding: 12px 14px; font-size: 14px; }
/* start form */
.zfr-form { display: grid; gap: 14px; max-width: 640px; margin: 0 auto; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 28px; }
.zfr-form label { display: grid; gap: 6px; font: 500 14px/1.2 "Roboto", sans-serif; color: var(--navy); }
.zfr-form input, .zfr-form textarea, .zfr-form select { border: 1px solid #c9d6e6; border-radius: 10px; padding: 10px 12px; font: 400 15px/1.4 "Roboto", sans-serif; color: #101828; background: #fff; width: 100%; }
.zfr-form button { height: 48px; border: 0; border-radius: 50px; background: var(--b); color: #fff; font: 600 15px/1 "Poppins", sans-serif; cursor: pointer; }
.zfr-form button:disabled { opacity: 0.6; cursor: default; }
.zfr-hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }
.zfr-msg { font-size: 14px; border-radius: 12px; padding: 12px 14px; } .zfr-msg--ok { background: #eef8e2; color: #2f5a07; } .zfr-msg--err { background: #fdecec; color: #8a1c1c; }
/* /fundraise/: the live fundraisers (components/fundraiser/FundraisersList.tsx) */
.zfr--list { padding-top: 40px; }
.zfl__head { max-width: 1100px; margin: 0 auto 28px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.zfl__intro { font-size: 16px; max-width: 640px; }
.zfl__start { padding: 0 26px; }
.zfl__grid { list-style: none; margin: 0 auto; padding: 0; max-width: 1100px; display: grid; gap: 24px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.zfl-card { background: #fff; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 1px 2px rgb(16 24 40 / 0.05), 0 10px 28px rgb(0 85 146 / 0.07); }
.zfl-card__img { display: block; aspect-ratio: 16 / 9; background: #e8eef6; }
.zfl-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.zfl-card__ph { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #d9ecf8, #eef8e2); }
.zfl-card__body { padding: 20px 22px 22px; display: grid; gap: 10px; flex: 1; align-content: start; }
.zfl-card h2 { font: 600 22px/1.2 "Roboto Condensed", sans-serif; color: var(--navy); margin: 0; }
.zfl-card h2 a { color: inherit; text-decoration: none; } .zfl-card h2 a:hover { text-decoration: underline; }
.zfl-card__text { font-size: 15px; line-height: 1.55; color: var(--t); }
.zfl-card__raised b { font-size: 22px; }
.zfl-card__actions { display: flex; align-items: center; gap: 16px; margin-top: 4px; }
.zfl-card__actions .zfr-btn { flex: 1; height: 44px; }
.zfl-card__more { font: 500 14px/1 "Poppins", sans-serif; color: var(--b); text-decoration: none; } .zfl-card__more:hover { text-decoration: underline; }
.zfl__empty { max-width: 560px; margin: 0 auto; text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 36px 28px; display: grid; gap: 12px; justify-items: center; }
.zfl__empty-title { font: 600 24px/1.2 "Roboto Condensed", sans-serif; color: var(--navy); }
.zfl__empty .zfr-btn { padding: 0 28px; margin-top: 6px; }
/* the strip on the causes pages while a fundraiser is live */
.zfl-band { padding: 8px 16px 48px; }
.zfl-band__inner { max-width: 1100px; margin: 0 auto; background: #f3f8fd; border: 1px solid #d6e6f3; border-radius: 20px; padding: 22px 26px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; font-family: "Roboto", system-ui, sans-serif; }
.zfl-band__title { font: 600 22px/1.2 "Roboto Condensed", sans-serif; color: #006db8; margin: 0 0 4px; }
.zfl-band__text { margin: 0; color: #667085; font-size: 15px; }
.zfl-band .zfr-btn { --b: #006db8; padding: 0 26px; }
