/* CS Foundation App – front end. Uses the CS Foundation Modern theme's colour variables with safe fallbacks. */
.csfa-give,.csfa-signup,.csfa-thanks,.csfa-portal{--csfa-teal:var(--teal,#08676b);--csfa-orange:var(--orange,#f7a234);--csfa-ink:var(--ink,#16363b);--csfa-muted:var(--muted,#66777a)}
.csfa-give-form,.csfa-form{display:grid;gap:14px}
.csfa-give-form label,.csfa-form>label,.csfa-form .contact-form-row label{font-weight:700;font-size:14px}
.csfa-give-form input[type=number],.csfa-give-form select,.csfa-form input:not([type=checkbox]):not([type=radio]),.csfa-form select,.csfa-form textarea{width:100%;padding:12px 14px;border:1px solid #cfdcdc;border-radius:8px;font:inherit;background:#fff;color:var(--csfa-ink)}
.csfa-give-form input:focus,.csfa-give-form select:focus,.csfa-form input:focus,.csfa-form select:focus,.csfa-form textarea:focus{outline:3px solid rgba(8,103,107,.25);border-color:var(--csfa-teal)}
.csfa-give fieldset,.csfa-form fieldset{border:0;margin:0;padding:0}
.csfa-give legend,.csfa-form legend{font-weight:800;font-size:14px;margin-bottom:8px;padding:0}

/* Segmented frequency + amount chips */
.csfa-frequency{display:grid;grid-template-columns:1fr 1fr;gap:0;border:2px solid var(--csfa-teal)!important;border-radius:10px;overflow:hidden}
.csfa-frequency legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.csfa-frequency label,.csfa-amounts label{position:relative;cursor:pointer}
.csfa-frequency input,.csfa-amounts input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.csfa-frequency span{display:block;text-align:center;padding:11px;font-weight:800;color:var(--csfa-teal)}
.csfa-frequency input:checked+span{background:var(--csfa-teal);color:#fff}
.csfa-amounts{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}
.csfa-amounts legend{grid-column:1/-1}
.csfa-amounts span{display:block;text-align:center;padding:14px 8px;border:2px solid #cfdcdc;border-radius:10px;font-weight:800;font-size:18px;background:#fff;transition:.15s}
.csfa-amounts input:checked+span{border-color:var(--csfa-orange);background:#fff6ea;color:#a35f00}
.csfa-amounts input:focus-visible+span,.csfa-frequency input:focus-visible+span{outline:3px solid rgba(8,103,107,.35);outline-offset:2px}
.csfa-give-submit{width:100%;font-size:17px;padding:16px 20px;border:0;cursor:pointer}

/* Sign-up checkbox groups */
.csfa-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 18px}
.csfa-checks legend{grid-column:1/-1}
.csfa-checks label,.csfa-consent{display:flex;gap:10px;align-items:flex-start;font-weight:400!important;font-size:15px;line-height:1.4}
.csfa-checks input,.csfa-consent input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--csfa-teal)}
.csfa-form button{border:0;cursor:pointer;justify-self:start}

/* Get Involved tabs (theme template) */
.csfa-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}
.csfa-tabs button{border:2px solid var(--csfa-teal,#08676b);background:#fff;color:var(--teal,#08676b);font:inherit;font-weight:800;padding:11px 20px;border-radius:999px;cursor:pointer}
.csfa-tabs button[aria-selected=true]{background:var(--teal,#08676b);color:#fff}
.csfa-tabpanel[hidden]{display:none}

/* Thank-you + portal */
.csfa-thanks,.csfa-portal{max-width:720px;margin:0 auto;text-align:center;padding:20px 0}
.csfa-thanks .eyebrow,.csfa-portal .eyebrow{color:var(--csfa-teal)}
.csfa-thanks .actions,.csfa-portal .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.csfa-thanks-amount{font-size:20px;font-weight:800;color:var(--csfa-teal)}
.csfa-portal form{text-align:left;max-width:380px;margin:20px auto 0;display:grid;gap:6px}
.csfa-portal form p{margin:0 0 10px}
.csfa-portal input[type=text],.csfa-portal input[type=password]{width:100%;padding:12px 14px;border:1px solid #cfdcdc;border-radius:8px;font:inherit}
.csfa-portal input[type=submit]{background:var(--csfa-orange);color:#fff;border:0;border-radius:8px;padding:13px 22px;font-weight:800;cursor:pointer;width:100%}
.csfa-portal-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}
.csfa-portal-stats div{background:#f2f8f7;border-radius:14px;padding:18px}
.csfa-portal-stats strong{display:block;font-size:28px;color:var(--csfa-teal)}
.csfa-portal-stats span{color:var(--csfa-muted);font-size:14px}
@media(max-width:560px){.csfa-portal-stats{grid-template-columns:1fr}}
