/* EFM Donate: hosted styles (eceakes/efm-widgets)
   Scoped under #efm-donate (prefix efmd) so nothing leaks to the page.
   Shares the EFM widget design system (efm-portal / efm-events / efm-programs / efm-tickets).
   All role=heading DIVs force color with !important: Duda's global theme recolors real
   headings (white/gold/serif) and would otherwise make them invisible. */
#efm-donate.efmd{
  /* ---- shared EFM design tokens ---- */
  --efmd-ink:#0E178E;          /* brand blue */
  --efmd-ink-deep:#0A1170;     /* darker blue for the hero gradient floor */
  --efmd-hover:#4E63D6;        /* accent (AA on white) */
  --efmd-role:#5b6473;         /* muted text */
  --efmd-rule:#e4e6ef;         /* hairlines */
  --efmd-soft:#f4f6fc;         /* soft fills */
  --efmd-cream:#F7F7F7;        /* off-white text/fills on the dark hero */
  --efmd-gold:#C9A23F;         /* warm accent for chips / "most popular" */
  --efmd-name-font:"arbeit-semi-bold","Source Sans Pro",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --efmd-body-font:"Source Sans Pro",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --efmd-title-font:"PPPangaia-Medium",Georgia,"Times New Roman",serif;

  box-sizing:border-box;
  width:100%;
  max-width:1040px;
  margin:0 auto;
  /* Render on an explicit LIGHT surface. The host Duda page can have a dark
     background (a tinted photo), and the open sections below use dark text;
     without this they would be dark-on-dark. !important defeats any page theme. */
  background:#ffffff !important;
  border-radius:24px;
  padding:clamp(20px,3vw,34px) clamp(16px,3vw,32px) 44px;
  font-family:var(--efmd-body-font);
  color:#2b3042;
  -webkit-font-smoothing:antialiased;
  container-type:inline-size;
  container-name:efmd;
}
#efm-donate.efmd *,
#efm-donate.efmd *::before,
#efm-donate.efmd *::after{ box-sizing:border-box; }
#efm-donate .efmd-sr-only{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#efm-donate .efmd__status{ color:var(--efmd-role); font-size:16px; padding:26px 2px; }
#efm-donate .efmd__status[hidden]{ display:none; }

/* ================= buttons (shared pill system) ================= */
#efm-donate .efmd-btn{
  display:inline-block; appearance:none; -webkit-appearance:none; cursor:pointer; border:0;
  font-family:var(--efmd-name-font)!important; font-size:16px; font-weight:400; line-height:1.2; letter-spacing:.01em;
  padding:13px 30px; border-radius:999px; text-decoration:none!important; text-align:center;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
#efm-donate .efmd-btn:hover{ box-shadow:0 10px 24px rgba(9,12,38,.18); }
#efm-donate .efmd-btn:active{ transform:translateY(1px); }
#efm-donate .efmd-btn:focus-visible{ outline:2px solid var(--efmd-hover); outline-offset:3px; }
#efm-donate .efmd-btn--primary{ background:var(--efmd-cream)!important; color:var(--efmd-ink)!important; }
#efm-donate .efmd-btn--primary:hover{ background:#fff!important; }
#efm-donate .efmd-btn--ghost{ background:transparent!important; color:var(--efmd-cream)!important; border:2px solid rgba(247,247,247,.7); }
#efm-donate .efmd-btn--ghost:hover{ border-color:var(--efmd-cream); background:rgba(247,247,247,.12)!important; }
#efm-donate .efmd-btn--ink{ background:var(--efmd-ink)!important; color:#fff!important; }
#efm-donate .efmd-btn--ink:hover{ background:var(--efmd-hover)!important; }
#efm-donate .efmd-btn--cream{ background:var(--efmd-cream)!important; color:var(--efmd-ink)!important; }
#efm-donate .efmd-btn--cream:hover{ background:#fff!important; }

/* ================= page title ================= */
#efm-donate .efmd-pagetitle{
  font-family:var(--efmd-title-font)!important; color:var(--efmd-ink)!important; font-weight:400!important;
  text-align:center; font-size:clamp(28px,3cqi + 16px,42px); line-height:1.08; letter-spacing:.005em; margin:2px 0 16px;
}

/* ================= eyebrow ribbon ================= */
#efm-donate .efmd-ribbon{
  font-family:var(--efmd-name-font); color:var(--efmd-ink); background:var(--efmd-soft);
  border:1px solid var(--efmd-rule); border-radius:999px; text-align:center;
  font-size:13px; letter-spacing:.12em; text-transform:uppercase;
  padding:9px 18px; margin:6px auto 18px; max-width:max-content;
}

/* ================= hero ================= */
#efm-donate .efmd-hero{
  background:linear-gradient(135deg, var(--efmd-ink) 0%, var(--efmd-ink-deep) 100%);
  background-size:cover; background-position:center;
  border-radius:24px; padding:clamp(40px,5vw,66px) clamp(24px,4vw,56px);
  text-align:center; color:var(--efmd-cream); margin:0 0 30px;
}
#efm-donate .efmd-hero__inner{ max-width:720px; margin:0 auto; }
#efm-donate .efmd-hero__eyebrow{
  margin:0 0 14px; font-family:var(--efmd-name-font); color:var(--efmd-cream); opacity:.8;
  font-size:13px; letter-spacing:.16em; text-transform:uppercase; line-height:1.4;
}
#efm-donate .efmd-hero__title{
  margin:0 0 16px!important; font-family:var(--efmd-title-font)!important; color:var(--efmd-cream)!important;
  font-weight:400!important; font-size:46px!important; font-size:clamp(32px,4cqi + 20px,56px)!important;
  line-height:1.06!important; letter-spacing:.005em!important;
}
#efm-donate .efmd-hero__copy{ margin:0 auto 26px; max-width:600px; color:var(--efmd-cream); opacity:.9; font-size:17.5px; line-height:1.58; }
#efm-donate .efmd-hero__actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }

/* ================= thesis band ================= */
#efm-donate .efmd-thesis{ text-align:center; max-width:680px; margin:8px auto 30px; }
#efm-donate .efmd-thesis__title{
  font-family:var(--efmd-title-font)!important; color:var(--efmd-ink)!important; font-weight:400!important;
  font-size:clamp(26px,3cqi + 16px,38px); line-height:1.1; margin:0 0 10px;
}
#efm-donate .efmd-thesis__copy{ color:var(--efmd-role); font-size:17px; line-height:1.55; margin:0; }

/* ================= funds ================= */
#efm-donate .efmd-funds{ margin:0 0 38px; }
#efm-donate .efmd-funds__lead{ text-align:center; margin:0 0 18px; }
#efm-donate .efmd-funds__title,
#efm-donate .efmd-ways__title,
#efm-donate .efmd-ladder__title,
#efm-donate .efmd-legacy__title{
  font-family:var(--efmd-title-font)!important; color:var(--efmd-ink)!important; font-weight:400!important;
  font-size:clamp(24px,2.4cqi + 16px,34px); line-height:1.12; letter-spacing:.005em;
}
#efm-donate .efmd-funds__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
#efm-donate .efmd-fund{
  position:relative; border:1px solid var(--efmd-rule); border-radius:16px; background:#fff;
  padding:22px 22px 24px; display:flex; flex-direction:column;
  box-shadow:0 1px 2px rgba(9,12,38,.04); transition:box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
#efm-donate .efmd-fund:hover{ box-shadow:0 14px 32px rgba(9,12,38,.10); border-color:#cdd3ea; transform:translateY(-2px); }
#efm-donate .efmd-fund__chip{
  order:-1;   /* name is first in the DOM for screen readers; chip floats visually above it */
  align-self:flex-start; font-family:var(--efmd-name-font); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase;
  color:#7a5b12; background:rgba(201,162,63,.16); border:1px solid rgba(201,162,63,.4); border-radius:999px; padding:4px 11px; margin:0 0 12px;
}
#efm-donate .efmd-fund__name{ font-family:var(--efmd-name-font)!important; color:var(--efmd-ink)!important; font-size:20px; line-height:1.18; margin:0 0 8px; }
#efm-donate .efmd-fund__blurb{ color:#3a4054; font-size:15px; line-height:1.55; margin:0 0 18px; flex:1 1 auto; }
#efm-donate .efmd-fund__btn{ align-self:flex-start; font-size:14.5px; padding:10px 22px; }

/* ================= giving ladder ================= */
#efm-donate .efmd-ladder{ background:var(--efmd-soft); border:1px solid var(--efmd-rule); border-radius:22px; padding:clamp(26px,3vw,40px); margin:0 0 38px; text-align:center; scroll-margin-top:18px; }
#efm-donate .efmd-ladder__title{ margin:0 0 18px; }
#efm-donate .efmd-freq{ display:inline-flex; background:#fff; border:1px solid var(--efmd-rule); border-radius:999px; padding:5px; margin:0 0 22px; gap:4px; }
#efm-donate .efmd-freq__btn{
  appearance:none; -webkit-appearance:none; cursor:pointer; border:0; background:transparent;
  font-family:var(--efmd-name-font); color:var(--efmd-role); font-size:15px; padding:9px 22px; border-radius:999px;
  transition:background .18s ease, color .18s ease;
}
#efm-donate .efmd-freq__btn[aria-pressed="true"]{ background:var(--efmd-ink); color:#fff; }
#efm-donate .efmd-freq__btn:focus-visible{ outline:2px solid var(--efmd-hover); outline-offset:2px; }
#efm-donate .efmd-ladder__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
#efm-donate .efmd-tier{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  text-decoration:none!important; background:#fff; border:1.5px solid #c8cee6; border-radius:16px;
  padding:22px 16px; min-height:108px; color:var(--efmd-ink);
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease, background .15s ease;
}
#efm-donate .efmd-tier:hover{ border-color:var(--efmd-ink); box-shadow:0 12px 28px rgba(9,12,38,.12); transform:translateY(-2px); background:#fff; }
#efm-donate .efmd-tier:focus-visible{ outline:2px solid var(--efmd-hover); outline-offset:3px; }
#efm-donate .efmd-tier--pop{ border-color:var(--efmd-ink); box-shadow:0 8px 22px rgba(14,23,142,.12); }
#efm-donate .efmd-tier__pop{
  position:absolute; top:-11px; left:50%; transform:translateX(-50%); white-space:nowrap;
  font-family:var(--efmd-name-font); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:#fff; background:var(--efmd-ink); border-radius:999px; padding:4px 12px;
}
#efm-donate .efmd-tier__amt{ font-family:var(--efmd-name-font); color:var(--efmd-ink); font-size:27px; line-height:1; }
#efm-donate .efmd-tier__per{ font-size:14px; color:var(--efmd-role); margin-left:1px; }
#efm-donate .efmd-tier__label{ font-family:var(--efmd-name-font); color:var(--efmd-role); font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; }
#efm-donate .efmd-tier__impact{ color:#3a4054; font-size:13px; line-height:1.4; margin-top:4px; }
#efm-donate .efmd-tier--other{ background:transparent; border-style:dashed; }
#efm-donate .efmd-tier--other .efmd-tier__amt{ font-size:18px; color:var(--efmd-role); }
#efm-donate .efmd-tier--other:hover{ background:#fff; }
#efm-donate .efmd-ladder__note{ color:var(--efmd-role); font-size:14px; line-height:1.5; margin:20px auto 0; max-width:560px; }

/* ================= founders band ================= */
#efm-donate .efmd-founders{
  background:linear-gradient(135deg, var(--efmd-ink-deep) 0%, #161d63 100%);
  border-radius:22px; padding:clamp(34px,4vw,52px) clamp(24px,4vw,48px); color:var(--efmd-cream);
  text-align:center; margin:0 0 38px;
}
#efm-donate .efmd-founders__inner{ max-width:680px; margin:0 auto; }
#efm-donate .efmd-founders__title{
  font-family:var(--efmd-title-font)!important; color:var(--efmd-cream)!important; font-weight:400!important;
  font-size:clamp(26px,3cqi + 16px,40px); line-height:1.08; margin:0 0 14px;
}
#efm-donate .efmd-founders__copy{ color:var(--efmd-cream); opacity:.9; font-size:17px; line-height:1.58; margin:0 0 24px; }
#efm-donate .efmd-circles{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:0 0 26px; }
#efm-donate .efmd-circle{ display:flex; flex-direction:column; gap:2px; background:rgba(247,247,247,.08); border:1px solid rgba(247,247,247,.22); border-radius:12px; padding:12px 18px; }
#efm-donate .efmd-circle__name{ font-family:var(--efmd-name-font); font-size:15px; }
#efm-donate .efmd-circle__from{ font-size:13px; opacity:.85; }
#efm-donate .efmd-circle__benefit{ font-size:12.5px; opacity:.75; }
#efm-donate .efmd-founders__actions{ display:flex; justify-content:center; }

/* ================= legacy + stats ================= */
#efm-donate .efmd-legacy{ text-align:center; max-width:760px; margin:0 auto 40px; }
#efm-donate .efmd-legacy__title{ margin:0 0 14px; }
#efm-donate .efmd-legacy__body{ color:#3a4054; font-size:16.5px; line-height:1.62; }
#efm-donate .efmd-legacy__body p{ margin:0 0 12px; } #efm-donate .efmd-legacy__body p:last-child{ margin-bottom:0; }
#efm-donate .efmd-stats__cap{ font-family:var(--efmd-name-font)!important; color:var(--efmd-role)!important; font-size:12.5px; letter-spacing:.09em; text-transform:uppercase; text-align:center; margin:26px 0 0; }
#efm-donate .efmd-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:12px 0 0; }
#efm-donate .efmd-stat{ background:#fff; border:1px solid var(--efmd-rule); border-radius:14px; padding:18px 14px; }
#efm-donate .efmd-stat__big{ display:block; font-family:var(--efmd-name-font); color:var(--efmd-ink); font-size:26px; line-height:1.05; }
#efm-donate .efmd-stat__small{ display:block; color:var(--efmd-role); font-size:13px; line-height:1.35; margin-top:6px; }

/* ================= ways to give ================= */
#efm-donate .efmd-ways{ margin:0 0 38px; }
#efm-donate .efmd-ways__title{ text-align:center; display:block; margin:0 0 20px; }
#efm-donate .efmd-ways__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
#efm-donate .efmd-way{ border:1px solid var(--efmd-rule); border-radius:16px; background:#fff; padding:20px 20px 22px; }
#efm-donate .efmd-way__title{ font-family:var(--efmd-name-font)!important; color:var(--efmd-ink)!important; font-size:18px; line-height:1.2; margin:0 0 8px; }
#efm-donate .efmd-way__how{ color:#3a4054; font-size:14.5px; line-height:1.55; margin:0; }
#efm-donate .efmd-way__contact{ display:inline-block; margin-top:12px; font-family:var(--efmd-name-font); font-size:13.5px; color:var(--efmd-ink)!important; text-decoration:none!important; border:1.5px solid var(--efmd-ink); border-radius:999px; padding:7px 18px; transition:background .15s ease, color .15s ease; }
#efm-donate .efmd-way__contact:hover{ background:var(--efmd-ink); color:#fff!important; }
#efm-donate .efmd-way__contact:focus-visible{ outline:2px solid var(--efmd-hover); outline-offset:3px; }

/* ================= trust footer ================= */
#efm-donate .efmd-trust{ border-top:1px solid var(--efmd-rule); padding:24px 8px 0; text-align:center; max-width:760px; margin:0 auto; }
#efm-donate .efmd-trust p{ color:var(--efmd-role); font-size:13.5px; line-height:1.6; margin:0 0 8px; }
#efm-donate .efmd-trust p:last-child{ margin-bottom:0; }
#efm-donate .efmd-trust a{ color:var(--efmd-ink); }
#efm-donate .efmd-trust__tax{ font-style:italic; }

/* ================= responsive ================= */
@container efmd (max-width:760px){
  #efm-donate .efmd-funds__grid,
  #efm-donate .efmd-ways__grid{ grid-template-columns:1fr 1fr; }
}
@container efmd (max-width:520px){
  #efm-donate .efmd-funds__grid,
  #efm-donate .efmd-ways__grid{ grid-template-columns:1fr; }
  #efm-donate .efmd-ladder__grid{ grid-template-columns:1fr 1fr; }
  #efm-donate .efmd-hero__actions .efmd-btn,
  #efm-donate .efmd-founders__actions .efmd-btn{ width:100%; }
}
/* fallback for browsers without container queries */
@supports not (container-type: inline-size){
  @media (max-width:760px){ #efm-donate .efmd-funds__grid, #efm-donate .efmd-ways__grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:520px){ #efm-donate .efmd-funds__grid, #efm-donate .efmd-ways__grid, #efm-donate .efmd-ladder__grid{ grid-template-columns:1fr; } }
}

@media (prefers-reduced-motion: reduce){
  #efm-donate *{ transition:none!important; animation:none!important; scroll-behavior:auto!important; }
  #efm-donate .efmd-btn:active, #efm-donate .efmd-fund:hover, #efm-donate .efmd-tier:hover{ transform:none!important; }
}
