/* THIΞURINO payOS donate. Confined to #donate; original .sec-h & .heart-fx remain untouched. */
#donate .pd-app{width:100%;max-width:none;box-sizing:border-box;margin:0 auto;color:inherit}
#donate .pd-intro{white-space:pre-line;text-align:center;font-size:clamp(15px,1.55vw,19px);line-height:1.65;margin:3px auto 23px;max-width:600px;color:rgba(255,255,255,.90)}
#donate .pd-form-panel{padding:clamp(16px,3.3vw,30px);border:1px solid rgba(255,255,255,.22);border-radius:21px;background:rgba(255,255,255,.065);box-shadow:inset 0 1px rgba(255,255,255,.06)}
#donate .pd-eyebrow,#donate .pd-custom-label,#donate .pd-message-label{display:block;font-size:12px;font-weight:700;letter-spacing:.10em;margin-bottom:11px;color:rgba(255,255,255,.86)}
#donate .pd-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}
#donate .pd-preset{min-width:0;padding:13px 6px;border:1px solid rgba(255,255,255,.23);border-radius:13px;background:rgba(255,255,255,.08);color:#fff;font-size:clamp(13px,1.6vw,16px);font-weight:700;line-height:1.2;cursor:pointer;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
#donate .pd-preset:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
#donate .pd-preset.is-selected{background:rgba(255,255,255,.20);border-color:var(--c,#6ddaff);box-shadow:inset 0 0 0 1px var(--c,#6ddaff),0 0 18px rgba(120,210,255,.10)}
#donate .pd-custom-label{margin-top:2px}
#donate .pd-input-wrap{display:flex;align-items:center;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:rgba(2,25,52,.23);overflow:hidden;transition:border-color .2s}
#donate .pd-input-wrap:focus-within{border-color:var(--c,#6ddaff);box-shadow:0 0 0 2px rgba(130,210,255,.12)}
#donate .pd-custom-amount{flex:1;min-width:0;background:transparent;border:0;outline:0;box-shadow:none!important;font-size:17px;font-weight:600;line-height:1.3;color:#fff;padding:13px 15px}
#donate .pd-custom-amount::placeholder,#donate .pd-message::placeholder{color:rgba(255,255,255,.51)}
#donate .pd-input-wrap>span{padding:0 15px 0 4px;opacity:.7;font-size:12px;font-weight:800;letter-spacing:.05em}
#donate .pd-hint{display:block;color:rgba(255,255,255,.62);font-size:11px;line-height:1.5;margin:8px 0 18px}
#donate .pd-message{display:block;width:100%;min-height:78px;max-height:180px;resize:vertical;box-sizing:border-box;background:rgba(2,25,52,.23);border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:12px 15px;font:inherit;font-size:14px;line-height:1.5;color:#fff;outline:0}
#donate .pd-message:focus{border-color:var(--c,#6ddaff);box-shadow:0 0 0 2px rgba(130,210,255,.12)}
#donate .pd-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 14px;border-top:1px solid rgba(255,255,255,.18);padding-top:20px}
#donate .pd-total>span{font-size:12px;letter-spacing:.05em;font-weight:700;color:rgba(255,255,255,.8)}
#donate .pd-total strong{font-size:clamp(23px,3.2vw,33px);font-weight:800;color:var(--c,#fff);white-space:nowrap;font-variant-numeric:tabular-nums}
#donate .pd-pay-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;border:0;border-radius:13px;background:var(--c,#4fbcff);color:#062843;cursor:pointer;padding:15px 12px;min-height:52px;font-size:clamp(13px,1.55vw,16px);font-weight:800;line-height:1.3;transition:transform .2s,filter .2s;letter-spacing:.045em}
#donate .pd-pay-button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px)}
#donate .pd-pay-button:disabled{opacity:.55;cursor:wait}
#donate .pd-status{min-height:0;margin:10px 0 0;color:#ffcfce;font-size:13px;line-height:1.5;text-align:center}
#donate .pd-status:empty{display:none}
#donate .pd-alternative{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;letter-spacing:.025em;color:rgba(255,255,255,.66);margin:15px 0 2px}
#donate .pd-alternative a{color:inherit;text-decoration:underline;text-underline-offset:3px}
#donate .pd-alternative a:hover{color:var(--c,#fff)}
#donate .pd-preset:focus-visible,#donate .pd-pay-button:focus-visible,#donate .pd-alternative a:focus-visible{outline:2px solid var(--c,#fff);outline-offset:3px}
/* Modal belongs to the DONATE section, but is fixed so it works on all pages. */
#donate .pd-modal{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:16px;color:#f9fdff;font-family:inherit}
#donate .pd-modal.is-open{display:flex}
#donate .pd-backdrop{position:absolute;inset:0;background:rgba(0,9,27,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#donate .pd-dialog{position:relative;box-sizing:border-box;width:min(100%,510px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;background:linear-gradient(160deg,#133e67,#061f3b 70%);border:1px solid rgba(255,255,255,.28);border-radius:21px;padding:clamp(20px,4vw,30px);box-shadow:0 22px 65px rgba(0,0,0,.5);text-align:center}
#donate .pd-close{position:absolute;top:12px;right:13px;width:38px;height:38px;border:1px solid rgba(255,255,255,.26);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:27px;line-height:30px;cursor:pointer}
#donate .pd-close:hover{background:rgba(255,255,255,.2)}
#donate .pd-modal-tag{font-size:12px;letter-spacing:.21em;color:rgba(255,255,255,.72);margin:3px 33px 8px}
#donate .pd-dialog h3{font-size:clamp(19px,3vw,28px);font-family:var(--f-head,inherit);margin:0 34px 8px;font-weight:700}
#donate .pd-modal-sub{font-size:13px;line-height:1.6;opacity:.80;margin:0 auto 14px}
#donate .pd-qr-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:120px;padding:16px;border-radius:14px;background:#fff;color:#12334e;line-height:1.5}
#donate .pd-qr-area svg{display:block;width:min(230px,100%);height:auto;aspect-ratio:1;image-rendering:pixelated;background:#fff}
#donate .pd-qr-area .pd-qr-bank{margin:0;font-size:13px;overflow-wrap:anywhere}
#donate .pd-spinner{width:30px;height:30px;border:3px solid #bcd0e1;border-top-color:#17649c;border-radius:50%;animation:pdSpin .8s linear infinite}
@keyframes pdSpin{to{transform:rotate(360deg)}}
#donate .pd-payment-details{padding:10px 4px 0}
#donate .pd-payment-details[hidden],#donate .pd-modal-actions [hidden]{display:none!important}
#donate .pd-payment-details>div{display:flex;justify-content:space-between;gap:14px;margin:7px 0;font-size:13px;line-height:1.5;text-align:left}
#donate .pd-payment-details strong{text-align:right;overflow-wrap:anywhere;user-select:text}
#donate .pd-payment-state{min-height:23px;line-height:1.55;margin:12px 0;font-size:13px;color:#d9e9f5}
#donate .pd-payment-state.is-good{color:#bbf7d0}
#donate .pd-payment-state.is-error{color:#ffd6d6}
#donate .pd-modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
#donate .pd-open-pay,#donate .pd-again{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:100px;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.04em;padding:10px 16px;cursor:pointer;text-decoration:none}
#donate .pd-open-pay:hover,#donate .pd-again:hover{background:rgba(255,255,255,.22)}
#donate .pd-security{margin:13px 0 0;font-size:11px;color:rgba(255,255,255,.6);line-height:1.5}
@media (max-width:600px){#donate .pd-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#donate .pd-preset{min-height:47px}#donate .pd-total{align-items:flex-start;flex-direction:column;gap:4px}#donate .pd-dialog{padding:19px 17px}#donate .pd-form-panel{padding:16px}}
@media (prefers-reduced-motion:reduce){#donate .pd-spinner{animation:none}#donate .pd-preset,#donate .pd-pay-button{transition:none}}

/* PC + mobile: preserve the explicit line break after “café,”. */

/* Theme-aware donate contrast (Black & White + Yellow).
   Both themes use data-tone="ink". Restrict adjustments to the donate
   form; the fixed QR/payment dialog intentionally keeps its dark palette.
   Blue Neighborhood and Mystic Theme remain unchanged. */
html[data-tone="ink"] #donate .pd-intro{color:#111}
html[data-tone="ink"] #donate .pd-form-panel{background:rgba(0,0,0,.045);border-color:rgba(0,0,0,.22);box-shadow:inset 0 1px rgba(255,255,255,.26)}
html[data-tone="ink"] #donate .pd-eyebrow,
html[data-tone="ink"] #donate .pd-custom-label,
html[data-tone="ink"] #donate .pd-message-label{color:#111}
html[data-tone="ink"] #donate .pd-preset{color:#111;background:rgba(0,0,0,.055);border-color:rgba(0,0,0,.24)}
html[data-tone="ink"] #donate .pd-preset:hover{background:rgba(0,0,0,.12)}
html[data-tone="ink"] #donate .pd-preset.is-selected{color:#000;background:rgba(0,0,0,.13);border-color:#111;box-shadow:inset 0 0 0 1px #111,0 0 0 1px rgba(255,255,255,.22)}
html[data-tone="ink"] #donate .pd-input-wrap,
html[data-tone="ink"] #donate .pd-message{background:rgba(0,0,0,.10);border-color:rgba(0,0,0,.28);color:#111}
html[data-tone="ink"] #donate .pd-custom-amount{color:#111;caret-color:#111}
html[data-tone="ink"] #donate .pd-custom-amount::placeholder,
html[data-tone="ink"] #donate .pd-message::placeholder{color:rgba(0,0,0,.62);opacity:1}
html[data-tone="ink"] #donate .pd-input-wrap>span{color:#111;opacity:.9}
html[data-tone="ink"] #donate .pd-hint{color:rgba(0,0,0,.79)}
html[data-tone="ink"] #donate .pd-total{border-top-color:rgba(0,0,0,.18)}
html[data-tone="ink"] #donate .pd-total>span,
html[data-tone="ink"] #donate .pd-total strong{color:#111}
html[data-tone="ink"] #donate .pd-pay-button{background:#111;color:#fff}
html[data-tone="ink"] #donate .pd-pay-button:hover:not(:disabled){background:#262626;filter:none}
html[data-tone="ink"] #donate .pd-status{color:#9b1823}
html[data-tone="ink"] #donate .pd-alternative{color:rgba(0,0,0,.8)}
html[data-tone="ink"] #donate .pd-alternative a:hover{color:#000}

/* Payment card fits viewport without a separate inner scrollbar. */
#donate .pd-modal{padding:8px;box-sizing:border-box}
#donate .pd-dialog{overflow:visible;max-height:none;width:min(475px,calc(100vw - 16px));padding:clamp(11px,2vh,20px) clamp(12px,3vw,20px)}
#donate .pd-modal-tag{font-size:10px;margin:0 26px 4px}
#donate .pd-dialog h3{font-size:clamp(18px,2.9vh,23px);margin:0 27px 3px}
#donate .pd-modal-sub{margin:0 auto 6px;font-size:clamp(11px,1.6vh,13px)}
#donate .pd-qr-area{min-height:0;padding:clamp(7px,1.3vh,12px);gap:4px}
#donate .pd-qr-area svg,#donate .pd-qr-area canvas{width:min(100%,clamp(110px,32dvh,230px))!important;height:auto!important;aspect-ratio:1}
#donate .pd-qr-area .pd-qr-bank{font-size:clamp(10px,1.6vh,12px);margin:0}
#donate .pd-payment-details{padding:3px 0 0}
#donate .pd-payment-details>div{margin:2px 0;font-size:clamp(11px,1.6vh,13px)}
#donate .pd-payment-state{margin:5px 0;min-height:0;font-size:clamp(11px,1.7vh,13px)}
#donate .pd-open-pay,#donate .pd-again{padding:7px 13px}
#donate .pd-security{margin:5px 0 0;font-size:10px}
@media(max-height:590px){#donate .pd-dialog{padding:9px 12px}#donate .pd-qr-area svg,#donate .pd-qr-area canvas{width:min(100%,28dvh,175px)!important}}

/* THIΞURINO customer identity for verified donation receipts. */
#donate .pd-customer-fields{display:grid;grid-template-columns:1fr;gap:7px;margin:16px 0 4px;text-align:left}
#donate .pd-customer-fields label{font-size:12px;font-weight:700;letter-spacing:.04em;color:inherit}
#donate .pd-customer-fields input{box-sizing:border-box;width:100%;min-width:0;border:1px solid rgba(255,255,255,.27);border-radius:11px;background:rgba(2,25,52,.23);color:#fff;font:inherit;font-size:16px;padding:12px 14px;outline:none}
#donate .pd-customer-fields input::placeholder{color:rgba(255,255,255,.55)}
#donate .pd-customer-fields input:focus{border-color:var(--c,#6ddaff);box-shadow:0 0 0 2px rgba(130,210,255,.12)}
#donate .pd-customer-fields small{font-size:11px;line-height:1.5;color:inherit;opacity:.8;margin-bottom:5px}
html[data-tone="ink"] #donate .pd-customer-fields input{color:#111;background:rgba(0,0,0,.08);border-color:rgba(0,0,0,.3)}
html[data-tone="ink"] #donate .pd-customer-fields input::placeholder{color:rgba(0,0,0,.58)}
