/* Donation preview uses the site's shared tokens and supports the global theme. */
.donate-page{--donation-panel:var(--ice,#edf5fa);--donation-field:var(--paper,#f7f8f5)}
.donate-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:75px;align-items:end;padding:55px 0 48px}
.donate-intro h1{font-size:clamp(48px,5.2vw,76px);line-height:1.04;letter-spacing:-.04em}
.donate-intro>p{max-width:540px;font-size:23px;padding-bottom:7px}
.donation-demo-note{display:flex;gap:14px;align-items:flex-start;background:var(--donation-panel);border:1px solid var(--line);border-left:4px solid var(--blue);padding:19px 24px;margin-bottom:38px}
.donation-demo-note strong{font-size:18px}.donation-demo-note p{font-size:16px;margin-top:3px}.donation-demo-dot{height:9px;width:9px;background:var(--blue);border-radius:50%;margin-top:8px;flex-shrink:0}
.donation-form{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:48px;align-items:start}
.donation-section{padding:0 0 32px;margin:0 0 30px;border:0;border-bottom:1px solid var(--line);min-width:0}
.donation-section h2,.donation-method-fieldset legend{font-size:27px;letter-spacing:-.02em;font-weight:600;line-height:1.2;margin-bottom:13px}
.donation-section>p{font-size:18px;line-height:1.6;margin:0 0 21px}
.donation-frequency-table{border-collapse:collapse;width:100%;font-size:18px}
.donation-frequency-table th,.donation-frequency-table td{text-align:left;border-bottom:1px solid var(--line);padding:13px 16px}
.donation-frequency-table thead{background:var(--donation-panel)}
.donation-frequency-table thead th{font-size:13px;text-transform:uppercase;letter-spacing:.075em;font-weight:600;color:var(--muted)}
.donation-frequency-table tbody th{font-weight:600;width:36%}
.donation-frequency-table td{color:var(--muted)}
.donation-frequency-table th:last-child,.donation-frequency-table td:last-child{text-align:center;width:68px}
.donation-frequency-table tr.is-selected{background:var(--donation-panel)}
.donation-frequency-table label{display:block;cursor:pointer}
.donation-frequency-table input,.donation-method input{width:19px;height:19px;accent-color:var(--blue);cursor:pointer;flex-shrink:0}
.donation-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin-top:23px}
.donation-field-grid label,.donation-amount-row label{font-size:16px;font-weight:600;display:block}
.donation-field-grid select{display:block;width:100%;margin-top:8px;background:var(--donation-field);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:12px 36px 12px 13px;min-height:49px;font-size:17px}
.donation-help{font-size:15px!important;color:var(--muted);line-height:1.6!important;margin-top:12px!important}
.donation-amount-row{margin-top:24px}.donation-amount-input{display:flex;align-items:center;gap:16px;background:var(--donation-field);border:1px solid var(--line);border-radius:5px;padding:13px 18px;margin-top:8px}
.donation-amount-input>span{font-size:18px;color:var(--muted);font-weight:500}
.donation-amount-input input{min-width:0;width:100%;border:0;background:transparent;color:var(--ink);font-size:29px;line-height:1.4;font-weight:600}
.donation-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}
.donation-presets button{color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:4px;padding:11px 4px;min-height:45px;font-size:16px}
.donation-presets button[aria-pressed=true],.donation-presets button:hover{border-color:var(--blue);background:var(--donation-panel);color:var(--blue)}
.donation-error{font-size:16px!important;color:#a82323!important;margin:10px 0 0!important;min-height:0}
.donation-error:empty{display:none}
.donation-method-fieldset legend{padding:0}
.donation-methods{display:flex;flex-direction:column;gap:10px}
.donation-method{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:5px;padding:16px;cursor:pointer}
.donation-method:has(input:checked){border-color:var(--blue);background:var(--donation-panel)}
.donation-method strong{font-size:18px;font-weight:600;display:block}.donation-method small{display:block;font-size:14px;color:var(--muted);margin-top:3px}
.donation-method-icon{display:flex;justify-content:center;align-items:center;width:30px;flex-shrink:0;color:var(--blue)}.donation-method-icon svg{width:26px;height:26px}.donation-wallet-mark{font:700 25px Arial,sans-serif}
.donation-method-tag{font-size:11px;font-weight:600;border:1px solid var(--line);padding:3px 7px;margin-left:auto;color:var(--muted);border-radius:3px;text-transform:uppercase;letter-spacing:.05em}
.donation-summary-card{position:sticky;top:30px;background:var(--donation-panel);border:1px solid var(--line);padding:33px;border-radius:7px;box-shadow:0 15px 50px #0b48690a}
.donation-summary-value{display:flex;flex-direction:column;gap:6px;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:10px}
.donation-summary-value output{font-size:clamp(31px,3vw,45px);font-weight:600;line-height:1.15;letter-spacing:-.03em;overflow-wrap:anywhere}
.donation-summary-value>span{font-size:18px;color:var(--muted)}
.donation-summary-card dl>div,.donation-review-dialog dl>div{padding:12px 0;display:flex;gap:20px;justify-content:space-between;border-bottom:1px solid var(--line)}
.donation-summary-card dt,.donation-review-dialog dt{font-size:15px;color:var(--muted)}
.donation-summary-card dd,.donation-review-dialog dd{font-size:16px;margin:0;text-align:right;font-weight:500;max-width:66%}
.donation-review-note{font-size:15px;margin:23px 0;color:var(--muted)}
.donation-review-button{width:100%;gap:16px;border-radius:4px;font-size:18px}
.donation-account-note{font-size:14px;margin-top:16px;line-height:1.6}
.donation-context{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;border-top:1px solid var(--line);padding:55px 0 70px;margin-top:23px}
.donation-context h2{font-size:35px;max-width:540px}.donation-context p{margin-top:19px;max-width:540px;font-size:19px}
.donation-context nav{display:flex;flex-direction:column;justify-content:center}
.donation-context a{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:17px 0;font-size:20px;font-weight:500}
.donation-context a:hover{color:var(--blue)}
.donation-review-dialog{max-width:650px;width:calc(100% - 40px);max-height:calc(100dvh - 60px);overflow:auto;padding:38px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:9px}
.donation-review-dialog::backdrop{background:#021522a8;backdrop-filter:blur(5px)}
.donation-dialog-close{position:absolute;right:16px;top:11px;background:none;border:0;color:var(--ink);font-size:30px;line-height:1;padding:8px}
.donation-review-dialog h2{font-size:34px;padding-right:18px}.donation-review-dialog dl{margin:25px 0}.donation-review-dialog p{font-size:18px}.donation-review-dialog .button{margin-top:25px}
[data-whml-theme="dark"] .donation-error,[data-theme="dark"] .donation-error{color:#ffb4b4!important}
@media(max-width:1050px){.donation-form{gap:28px;grid-template-columns:minmax(0,1.3fr) minmax(290px,1fr)}.donation-summary-card{padding:25px}.donate-intro{gap:40px}.donation-presets{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.donate-intro{grid-template-columns:1fr;gap:24px;padding:32px 0}.donate-intro h1{font-size:49px}.donate-intro>p{font-size:21px;max-width:100%}.donation-form{grid-template-columns:1fr;gap:8px}.donation-summary-card{position:static;margin-bottom:28px}.donation-context{grid-template-columns:1fr;gap:20px;padding:35px 0 50px}.donation-frequency-table{font-size:17px}.donation-presets{grid-template-columns:repeat(4,1fr)}}
@media(max-width:460px){.donation-field-grid{grid-template-columns:1fr}.donation-frequency-table th,.donation-frequency-table td{padding:12px 9px}.donation-frequency-table{font-size:15px}.donation-frequency-table thead th{font-size:11px}.donation-presets{grid-template-columns:repeat(2,1fr)}.donation-method{padding:14px 10px;gap:9px}.donation-method-icon{width:23px}.donation-method-tag{font-size:10px}.donation-review-dialog{padding:29px 23px}.donation-review-dialog h2{font-size:29px}.donation-section h2,.donation-method-fieldset legend{font-size:25px}}
