/* BOY Donate — widget, modal, payment step. Inherits theme tokens (--ink, --bone, --olive-l, --clay, --cond, --head, --body). */
.boy-widget{--wtext:var(--bone,#F3EFE5);color:var(--wtext)}
.boy-widget .freq{display:flex;border:1px solid rgba(243,239,229,.24);margin-bottom:16px}
.boy-widget .freq button{flex:1;font-family:var(--cond);text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:600;padding:14px;background:transparent;color:rgba(243,239,229,.6);border:none;cursor:pointer;min-height:48px;transition:background .15s,color .15s}
.boy-widget .freq button.on{background:var(--bone,#F3EFE5);color:var(--ink,#0C0D0A)}
.boy-widget .amtgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:640px){.boy-widget .amtgrid{grid-template-columns:repeat(2,1fr)}}
.boy-widget .amt{border:2px solid rgba(243,239,229,.24);background:rgba(243,239,229,.05);color:var(--bone,#F3EFE5);padding:18px 10px;text-align:center;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease;font-family:var(--cond);display:flex;flex-direction:column;align-items:center;gap:6px}
.boy-widget .amt:hover{border-color:var(--olive-l,#8AAE74);transform:translateY(-2px)}
.boy-widget .amt.sel{border-color:var(--clay,#B4472B);background:rgba(180,71,43,.20)}
.boy-widget .amt .d{font-family:var(--head);font-size:27px;line-height:1}
.boy-widget .amt .g{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,239,229,.66);font-weight:600}
.boy-widget .customwrap{display:flex;align-items:center;gap:0;margin-top:12px;border:2px solid rgba(243,239,229,.24);background:rgba(243,239,229,.05);min-height:54px}
.boy-widget .customwrap:focus-within{border-color:var(--olive-l,#8AAE74)}
.boy-widget .customwrap .cur{padding:0 0 0 16px;font-family:var(--head);font-size:22px;color:rgba(243,239,229,.5)}
.boy-widget .customwrap input{flex:1;font-family:var(--body);font-size:17px;padding:15px 12px;border:0;background:transparent;color:var(--bone,#F3EFE5);min-height:50px;width:100%}
.boy-widget .customwrap input::placeholder{color:rgba(243,239,229,.44)}
.boy-widget .customwrap input:focus{outline:none}
.boy-widget .gloverow{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 6px;min-height:38px}
.boy-widget .gloverow.overflow:after{content:"+";font-family:var(--head);font-size:28px;color:var(--olive-l,#8AAE74);align-self:center}
.gicon{width:38px;height:38px;flex:0 0 auto;color:rgba(243,239,229,.22);transition:color .28s ease,transform .28s ease,filter .28s ease;transform:scale(.86)}
.gicon.lit{color:var(--olive-l,#8AAE74);transform:scale(1);filter:drop-shadow(0 0 8px rgba(138,174,116,.45))}
.boy-widget .gcount{font-family:var(--head);font-size:clamp(34px,4.6vw,60px);line-height:.9;color:var(--bone,#F3EFE5);text-transform:uppercase}
.boy-widget .feenote{background:rgba(138,174,116,.14);border-left:4px solid var(--olive-l,#8AAE74);padding:14px 16px;margin-top:16px}
.boy-widget .feenote p{font-size:14px;color:rgba(243,239,229,.88);margin:0}
.boy-widget .bw-go,.boy-widget .bw-pay{width:100%;margin-top:16px}
.boy-widget .paychips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.boy-widget .legal{margin-top:14px}
.boy-widget.compact .gcount{font-size:clamp(28px,3.6vw,44px)}

/* step 2 */
.bw-back{background:none;border:0;color:rgba(243,239,229,.7);font-family:var(--cond);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:600;cursor:pointer;padding:6px 0;min-height:44px}
.bw-back:hover{color:#fff}
.bw-summary{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid rgba(243,239,229,.16);border-bottom:1px solid rgba(243,239,229,.16);padding:14px 0;margin:4px 0 18px}
.bw-sum-gloves{font-family:var(--cond);text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:600;color:rgba(243,239,229,.7)}
.bw-sum-amt{font-family:var(--head);font-size:30px;line-height:1;color:var(--bone,#F3EFE5)}
.bw-express{margin-bottom:6px}
.bw-or{display:flex;align-items:center;gap:14px;margin:16px 0;color:rgba(243,239,229,.5);font-family:var(--cond);text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600}
.bw-or:before,.bw-or:after{content:"";flex:1;height:1px;background:rgba(243,239,229,.16)}
.bw-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
@media(max-width:560px){.bw-fields{grid-template-columns:1fr}}
.bw-fields .field label{color:rgba(243,239,229,.6)}
.bw-fields .field input{background:rgba(243,239,229,.05);border:2px solid rgba(243,239,229,.24);color:var(--bone,#F3EFE5);font-size:16px;padding:14px;min-height:52px;font-family:var(--body);width:100%}
.bw-fields .field input:focus{outline:none;border-color:var(--olive-l,#8AAE74)}
.bw-payment-mount{min-height:60px}
.bw-error{background:rgba(240,138,120,.14);border-left:4px solid #F08A78;color:#FBD5CC;padding:12px 14px;font-size:14.5px;margin-top:12px}
.bw-secure{margin-top:12px;text-align:center}
.bw-pay{position:relative}
.bw-pay.loading .bw-pay-label{opacity:.35}
.bw-spinner{position:absolute;inset:0;margin:auto;width:22px;height:22px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;opacity:0;animation:bw-spin .8s linear infinite}
.bw-pay.loading .bw-spinner{opacity:1}
@keyframes bw-spin{to{transform:rotate(360deg)}}
.bw-step3{text-align:center;padding:30px 0}
.bw-step3 h3{color:var(--bone,#F3EFE5);margin-top:14px;font-family:var(--head);text-transform:uppercase;font-size:30px}
.bw-success-glove .gicon{width:84px;height:84px;color:var(--olive-l,#8AAE74);transform:none;filter:drop-shadow(0 0 16px rgba(138,174,116,.55))}
.bw-notconfigured{border:1px dashed rgba(243,239,229,.3);padding:18px;color:rgba(243,239,229,.8);margin-top:10px}

/* modal */
.boy-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(12,13,10,.86);backdrop-filter:blur(6px)}
.boy-modal[hidden]{display:none}
.boy-modal-box{background:var(--ink,#0C0D0A);border:1px solid rgba(243,239,229,.2);width:min(640px,100%);max-height:92vh;overflow-y:auto;padding:clamp(24px,3.4vw,42px);position:relative;box-shadow:0 30px 90px rgba(0,0,0,.6);overscroll-behavior:contain}
.boy-modal-box h2{color:var(--bone,#F3EFE5)}
.boy-modal .mclose{position:absolute;top:10px;right:12px;background:none;border:none;color:rgba(243,239,229,.6);font-size:32px;line-height:1;cursor:pointer;padding:8px 12px;min-height:44px;min-width:44px}
.boy-modal .mclose:hover{color:#fff}
body.boy-modal-open{overflow:hidden}
@media(max-width:560px){.boy-modal{padding:0;align-items:flex-end}.boy-modal-box{max-height:96vh;width:100%}}
@media(prefers-reduced-motion:reduce){.gicon,.boy-widget .amt{transition:none}}
