/* Faithlife Church — giving page. Builds on faithlife.css (palette, type, form card). */
.giving-page .cite{display:block;margin-top:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.give-types{margin:0 0 1.4rem;padding:0;border:0;min-width:0}
.give-types legend,.give-methods legend{margin-bottom:.7rem;padding:0;font-size:.86rem;font-weight:700}
.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:.6rem}
.type-tile{position:relative;display:block;margin:0;cursor:pointer}
.type-tile input{position:absolute;opacity:0;pointer-events:none}
.type-tile span{display:flex;flex-direction:column;gap:.25rem;height:100%;padding:.85rem 1rem;border:1px solid var(--line-cool);border-radius:12px;background:var(--paper);transition:border-color .2s,background .2s,box-shadow .2s}
.type-tile strong{font-size:.98rem;color:var(--ink)}
.type-tile small{font-size:.78rem;font-weight:500;line-height:1.4;color:var(--muted)}
.type-tile:hover span{border-color:var(--gold)}
.type-tile input:checked+span{border-color:var(--navy);background:#fff;box-shadow:0 0 0 2px var(--navy) inset}
.type-tile input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.type-tile .badge{align-self:flex-start;margin-bottom:.1rem;padding:.08rem .5rem;border-radius:999px;background:var(--tint);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink)}
.progress{height:6px;margin-top:.45rem;border-radius:999px;background:var(--tint);overflow:hidden}
.progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),#d9bb7c)}
.progress-text{font-size:.72rem;font-weight:700;color:var(--gold-ink)}
.pledge-box{margin:0 0 1.2rem;padding:1rem 1.1rem .2rem;border:1px dashed #d8c69e;border-radius:12px;background:#fffcf5}
#amount-hint{font-weight:500;color:var(--muted)}
.quick-amounts{display:flex;flex-wrap:wrap;gap:.45rem;margin:-.4rem 0 1.3rem}
.quick-amounts button{min-height:38px;padding:.35rem .95rem;border:1px solid var(--line-cool);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-weight:700;font-size:.86rem;cursor:pointer}
.quick-amounts button:hover,.quick-amounts button[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:#fff}
.give-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0 0 1.4rem;padding:0;border:0;min-width:0}
.give-methods legend{grid-column:1/-1}
.method{display:flex;align-items:flex-start;gap:.7rem;margin:0;padding:.9rem 1rem;border:1px solid var(--line-cool);border-radius:12px;background:var(--paper);cursor:pointer}
.method input{width:20px;height:20px;margin:.15rem 0 0;flex-shrink:0;accent-color:var(--navy)}
.method span{display:flex;flex-direction:column;gap:.15rem}
.method small{font-size:.76rem;font-weight:500;color:var(--muted)}
.method:has(input:checked){border-color:var(--navy);background:#fff}
.give-status:empty{display:none}
.give-status[data-state=error]{color:#8c2a23;font-weight:700}
.give-result{text-align:center;padding:1rem 0 .5rem}
.give-result .mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;background:#edf6ef;color:#1f5a38;font-size:1.8rem;font-weight:800}
.give-result[data-state=failed] .mark{background:#fbefed;color:#8c2a23}
.give-result[data-state=pending] .mark{background:var(--tint);color:var(--gold-ink);animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.give-result[data-state=pending] .mark{animation:none}}
.give-result h2{margin-bottom:.6rem}
.give-result dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;max-width:22rem;margin:1.2rem auto;text-align:left;font-size:.92rem}
.give-result dt{font-weight:700;color:var(--muted)}
.give-result dd{margin:0;font-weight:700}
.give-result .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.2rem}
@media (max-width:560px){.give-methods{grid-template-columns:1fr}}
.giver-card{display:grid;grid-template-columns:auto 1fr;gap:.15rem 1rem;align-items:baseline;margin:0 0 1.2rem;padding:1rem 1.1rem;border:1px solid var(--line-cool);border-radius:12px;background:var(--paper)}
.giver-card .giver-label{grid-row:span 3;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.giver-card strong{font-size:1.02rem}
.giver-card span:not(.giver-label){font-size:.86rem;color:var(--muted)}
.giver-card a{font-size:.8rem;font-weight:700;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
