/* Mosaic Donations: the giving form and the giving page. Uses the Mosaic theme's tokens when they exist
   (var(--ink) etc.) and carries its own fallbacks, so it stands alone under any theme. Everything is scoped
   to .mdon; component classes only (the theme's prose rules are :where()-zero and never win). */

.mdon{
  --mdon-ink:var(--ink,#262223);
  --mdon-soft:var(--ink-soft,#5c5557);
  --mdon-paper:var(--paper,#fbf7f2);
  --mdon-paper-2:var(--paper-2,#f4ece2);
  --mdon-white:var(--white,#ffffff);
  --mdon-line:var(--line,#eee4da);
  --mdon-field:var(--field-border,#8a7f79);
  --mdon-accent:var(--accent,#c43949);
  --mdon-accent-hover:var(--accent-hover,#a62f3d);
  --mdon-ok:var(--link-accent,#1f7a6c);
  --mdon-display:var(--font-display,"Sora",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif);
  --mdon-body:var(--font-body,"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif);
  --mdon-chamfer:var(--chamfer,12px);
  --mdon-radius:var(--radius-sm,10px);
  --mdon-ease:var(--ease-out,cubic-bezier(.2,.7,.2,1));
  --mdon-dur:var(--dur-micro,160ms);
  position:relative;
  max-width:640px;
  padding:clamp(20px,4vw,32px);
  background:var(--mdon-white);
  color:var(--mdon-ink);
  font:400 1rem/1.55 var(--mdon-body);
  clip-path:polygon(0 0,calc(100% - var(--mdon-chamfer)) 0,100% var(--mdon-chamfer),100% 100%,var(--mdon-chamfer) 100%,0 calc(100% - var(--mdon-chamfer)));
  box-shadow:inset 0 0 0 1px var(--mdon-line);
}
.mdon::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--g-hairline,linear-gradient(90deg,#c43949,#ef746c 18%,#fcc74c 36%,#6cd4a6 55%,#77b8e9 75%,#9873c4))}
.mdon *,.mdon *::before,.mdon *::after{box-sizing:border-box}
.mdon [hidden]{display:none !important}

.mdon-form{margin:0}
.mdon-step{margin:0 0 26px;padding:0;border:0;min-width:0}
.mdon-step:last-child{margin-bottom:0}
.mdon-step__title{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:0;font:700 1.125rem/1.2 var(--mdon-display);color:var(--mdon-ink)}
.mdon-step__num{display:inline-grid;place-items:center;width:28px;height:28px;background:var(--mdon-ink);color:var(--mdon-paper);font-size:.875rem;clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px))}

/* segmented frequency switch + amount pills: real radios, visually hidden, labels as pills */
.mdon-seg{display:inline-flex;gap:4px;padding:4px;margin:0 0 14px;background:var(--mdon-paper-2);border-radius:999px}
.mdon-seg__opt,.mdon-amount{position:relative;cursor:pointer}
.mdon-seg__opt input,.mdon-amount input,.mdon-check input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.mdon-seg__opt span{display:inline-flex;align-items:center;min-height:40px;padding:.45em 1.15em;border-radius:999px;font-weight:700;color:var(--mdon-soft);transition:background-color var(--mdon-dur) var(--mdon-ease),color var(--mdon-dur) var(--mdon-ease)}
.mdon-seg__opt input:checked+span{background:var(--mdon-ink);color:var(--mdon-paper)}
.mdon-amounts{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin:0 0 12px}
.mdon-amount span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:.5em .8em;border:2px solid var(--mdon-field);border-radius:999px;background:var(--mdon-white);font:700 1.0625rem/1 var(--mdon-display);color:var(--mdon-ink);transition:background-color var(--mdon-dur) var(--mdon-ease),color var(--mdon-dur) var(--mdon-ease),border-color var(--mdon-dur) var(--mdon-ease)}
.mdon-amount:hover span{border-color:var(--mdon-ink)}
.mdon-amount input:checked+span{background:var(--mdon-ink);border-color:var(--mdon-ink);color:var(--mdon-paper)}
.mdon-seg__opt input:focus-visible+span,.mdon-amount input:focus-visible+span,.mdon-check input:focus-visible+span::before{outline:3px solid var(--mdon-ink);outline-offset:2px}

/* fields */
.mdon-row{display:grid;gap:0 14px;grid-template-columns:minmax(0,1fr)}
@media (min-width:560px){.mdon-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mdon-field{margin:0 0 14px;min-width:0}
.mdon-label{display:block;margin:0 0 6px;font-weight:600;font-size:.9375rem;color:var(--mdon-ink)}
.mdon .mdon-input{display:block;width:100%;min-width:0;max-width:100%;min-height:48px;margin:0;padding:10px 14px;border:2px solid var(--mdon-field);border-radius:var(--mdon-radius);background:var(--mdon-white);color:var(--mdon-ink);font:400 1rem/1.3 var(--mdon-body)}
.mdon .mdon-input:focus-visible{outline:3px solid var(--mdon-ink);outline-offset:2px;border-color:var(--mdon-ink)}
.mdon .mdon-select{appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat}
.mdon-money{display:flex;align-items:center;gap:8px;max-width:220px}
.mdon-money__sign{font:700 1.25rem/1 var(--mdon-display);color:var(--mdon-soft)}
.mdon-hint{margin:6px 0 0;font-size:.875rem;color:var(--mdon-soft)}
.mdon-check{position:relative;display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;cursor:pointer;font-weight:400;line-height:1.45}
.mdon-check span::before{content:"";flex:none;display:inline-block;width:22px;height:22px;margin:0 10px -5px 0;border:2px solid var(--mdon-field);border-radius:6px;background:var(--mdon-white) center/14px no-repeat;vertical-align:baseline}
.mdon-check input:checked+span::before{background-color:var(--mdon-ink);border-color:var(--mdon-ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fbf7f2' stroke-width='2.5' d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E")}
.mdon-check span{display:block;padding-left:32px;text-indent:-32px}

.mdon-payment{min-height:56px;margin:0 0 6px}
.mdon-secure{margin:0 0 14px}
.mdon-turnstile{margin:0 0 12px}
.mdon-hp{position:absolute !important;left:-10000px;width:1px;height:1px;overflow:hidden}

/* buttons: pills, like the theme's .mosaic-btn */
.mdon-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:.7em 1.35em;border:2px solid transparent;border-radius:999px;font:700 1rem/1.15 var(--mdon-body);text-align:center;text-decoration:none;cursor:pointer;transition:background-color var(--mdon-dur) var(--mdon-ease),color var(--mdon-dur) var(--mdon-ease)}
.mdon-btn:focus-visible{outline:3px solid var(--mdon-ink);outline-offset:3px}
.mdon-btn--primary{background:var(--mdon-accent);color:#fff}
.mdon-btn--primary:hover{background:var(--mdon-accent-hover)}
.mdon-btn--ink{background:var(--mdon-ink);color:var(--mdon-paper)}
.mdon-btn--ink:hover{background:#000}
.mdon-btn--ghost{background:transparent;border-color:var(--mdon-ink);color:var(--mdon-ink)}
.mdon-btn--ghost:hover{background:var(--mdon-ink);color:var(--mdon-paper)}
.mdon-btn--sm{min-height:40px;padding:.5em 1.05em;font-size:.9375rem}
.mdon-btn[disabled]{opacity:.55;cursor:not-allowed}
.mdon-submit{width:100%;font-size:1.0625rem}

.mdon-status{min-height:1.5em;margin:12px 0 0;font-weight:600;color:var(--mdon-ok)}
.mdon-status.is-error,.mdon-status--error{color:var(--mdon-accent-hover)}
.mdon-status:empty{display:none}
.mdon-terms{margin:12px 0 0;font-size:.8125rem;color:var(--mdon-soft)}

.mdon-done{padding:8px 0;outline:none}
.mdon-done__title{margin:0 0 8px;font:800 clamp(1.5rem,1.2rem + 1vw,2rem)/1.15 var(--mdon-display);color:var(--mdon-ink)}
.mdon-done__text{margin:0;font-size:1.0625rem}

/* giving page */
.mdon-portal{max-width:860px}
.mdon-portal__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin:0 0 8px}
.mdon-portal__title{margin:0;font:800 clamp(1.5rem,1.2rem + 1vw,2rem)/1.15 var(--mdon-display)}
.mdon-portal__who{margin:0;font-size:.875rem;color:var(--mdon-soft)}
.mdon-portal__who a,.mdon-docs a,.mdon-table a,.mdon-portal .mdon-hint a{color:var(--mdon-ink);text-decoration-color:var(--mdon-accent)}
.mdon-portal__section{margin:24px 0 0}
.mdon-portal__sub{margin:0 0 12px;font:700 1.125rem/1.2 var(--mdon-display)}
.mdon-portal__signin{max-width:420px}
.mdon-sub{display:grid;gap:12px;padding:16px 18px;margin:0 0 12px;background:var(--mdon-paper);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px))}
.mdon-sub.is-off{opacity:.7}
.mdon-sub__amount{margin:0;font:800 1.5rem/1.1 var(--mdon-display)}
.mdon-sub__amount span{font:600 .9375rem/1 var(--mdon-body);color:var(--mdon-soft)}
.mdon-sub__meta{margin:4px 0 0;font-size:.9375rem;color:var(--mdon-soft)}
.mdon-sub__actions{display:flex;flex-wrap:wrap;gap:8px}
.mdon-sub__panel{padding:14px 0 0;border-top:1px solid var(--mdon-line)}
.mdon-sub__panel p{margin:0 0 10px}
.mdon-sub__panel .mdon-btn+.mdon-btn{margin-left:8px}
.mdon-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.mdon-table{width:100%;border-collapse:collapse;font-size:.9375rem}
.mdon-table th,.mdon-table td{padding:10px 8px;border-bottom:1px solid var(--mdon-line);text-align:left;white-space:nowrap}
.mdon-table th{font-weight:700;color:var(--mdon-soft);font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em}
.mdon-tag{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--mdon-paper-2);font-size:.75rem;color:var(--mdon-soft)}
.mdon-docs{margin:0;padding-left:1.2em}
.mdon-docs li+li{margin-top:.35em}

@media (prefers-reduced-motion:reduce){.mdon *{transition:none !important}}
