/* ─── Support Page ─────────────────────────────── */

.sup-wrap{max-width:1060px;margin:0 auto;padding:40px 20px 80px}

/* Hero */
.sup-hero{text-align:center;margin-bottom:32px}
.sup-heart-glow{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;
    border-radius:50%;background:rgba(255,69,69,.12);margin-bottom:18px;animation:supPulse 2.4s ease-in-out infinite}
.sup-heart-svg{width:32px;height:32px;color:var(--red);fill:var(--red);stroke:var(--red)}
.sup-title{font-family:'Unbounded',sans-serif;font-size:26px;font-weight:900;color:var(--text);margin:0 0 8px}
.sup-sub{font-size:12px;color:var(--t2);line-height:1.6;max-width:420px;margin:0 auto}

@keyframes supPulse{
    0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,69,69,.2)}
    50%{transform:scale(1.08);box-shadow:0 0 24px rgba(255,69,69,.35)}
}

/* Centered form */
.sup-form-wrap{max-width:520px;margin:0 auto}

/* Card */
.sup-card{background:var(--d2);border:1px solid var(--border);border-radius:18px;padding:28px 24px;
    box-shadow:0 8px 32px rgba(0,0,0,.2)}
.sup-section{margin-bottom:20px}
.sup-label{display:block;font-size:9px;letter-spacing:1.2px;color:var(--t3);text-transform:uppercase;margin-bottom:8px}
.sup-opt{color:var(--t3);text-transform:none;letter-spacing:0}
.sup-freq-label{color:var(--y);text-transform:none;letter-spacing:0;font-weight:600}

/* Frequency Toggle */
.sup-freq-toggle{display:flex;gap:4px;background:var(--d3);border:1px solid var(--border);border-radius:12px;padding:4px}
.sup-freq{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:10px 16px;
    border-radius:9px;border:none;background:none;color:var(--t2);font-family:'DM Mono',monospace;font-size:12px;
    font-weight:600;cursor:pointer;transition:all .18s}
.sup-freq:hover{color:var(--text)}
.sup-freq.active{background:var(--y);color:var(--dark);box-shadow:0 0 12px var(--yglow)}

/* Subscribe Button */
.sup-submit{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;
    border-radius:10px;border:none;background:var(--y);color:var(--dark);font-family:'DM Mono',monospace;
    font-size:13px;font-weight:700;cursor:pointer;transition:all .18s}
.sup-submit:hover{box-shadow:0 0 20px var(--yglow);transform:translateY(-1px)}
.sup-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}

/* Preset buttons */
.sup-presets{display:flex;gap:8px;flex-wrap:wrap}
.sup-preset{flex:1;min-width:0;padding:12px 8px;border-radius:10px;border:1px solid var(--border);background:var(--d3);
    color:var(--t2);font-family:'Unbounded',sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:all .18s;
    text-align:center}
.sup-preset:hover{border-color:var(--y);color:var(--y);background:var(--ydim)}
.sup-preset.active{border-color:var(--y);color:var(--dark);background:var(--y);box-shadow:0 0 16px var(--yglow)}
.sup-preset-custom{font-size:11px;font-family:'DM Mono',monospace;font-weight:500}

/* Custom amount input */
.sup-custom-wrap{display:flex;align-items:center;gap:4px;margin-top:10px;background:var(--d3);border:1px solid var(--border);
    border-radius:10px;padding:4px 12px;transition:border-color .2s}
.sup-custom-wrap:focus-within{border-color:var(--y)}
.sup-currency{font-family:'Unbounded',sans-serif;font-size:18px;font-weight:700;color:var(--y)}
.sup-custom-input{flex:1;background:none;border:none;color:var(--text);font-family:'DM Mono',monospace;
    font-size:16px;padding:8px 4px;outline:none}
.sup-custom-input::placeholder{color:var(--t3)}
.sup-custom-input::-webkit-inner-spin-button,
.sup-custom-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.sup-custom-input{-moz-appearance:textfield}

/* Inputs */
.sup-input{width:100%;background:var(--d3);border:1px solid var(--border);border-radius:10px;padding:10px 14px;
    color:var(--text);font-family:'DM Mono',monospace;font-size:12px;outline:none;transition:border-color .2s;resize:none}
.sup-input:focus{border-color:var(--y)}
.sup-input::placeholder{color:var(--t3)}
.sup-textarea{min-height:72px}
.sup-textarea-wrap{position:relative}
.sup-textarea-wrap .sup-textarea{padding-bottom:36px}
.sup-emoji-btn{position:absolute;bottom:8px;right:8px;background:none;border:none;
  font-size:25px;cursor:pointer;color:var(--t3);transition:color .15s;line-height:1;padding:0}
.sup-emoji-btn:hover{color:var(--y)}
.sup-emoji-picker{display:none;position:absolute;right:0;bottom:100%;margin-bottom:4px;z-index:10;
  background:var(--d2);border:1px solid var(--border);border-radius:12px;padding:10px;
  width:260px;max-height:200px;overflow-y:auto;box-shadow:0 -8px 24px rgba(0,0,0,.3)}
.sup-emoji-picker.open{display:flex;flex-wrap:wrap;gap:4px}
.sup-emoji-picker button{background:none;border:none;font-size:20px;cursor:pointer;padding:4px;
  border-radius:6px;transition:background .12s;line-height:1}
.sup-emoji-picker button:hover{background:var(--d3)}
.sup-emoji-picker::-webkit-scrollbar{width:4px}
.sup-emoji-picker::-webkit-scrollbar-thumb{background:var(--d4);border-radius:4px}
.sup-char-count{text-align:right;font-size:9px;color:var(--t3);margin-top:4px}

/* PayPal Button */
#paypal-button-container{margin-top:4px;min-height:45px}

.sup-powered{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;font-size:10px;color:var(--t3)}

/* Supporters Wall */
.sup-wall{margin-top:0;max-width:520px;margin-left:auto;margin-right:auto}
.sup-wall-title{font-family:'Unbounded',sans-serif;font-size:18px;font-weight:700;color:var(--r);text-align:center;margin:0 0 4px}
.sup-wall-sub{font-size:11px;color:var(--t3);text-align:center;margin-bottom:20px}
.sup-wall-grid{display:flex;flex-direction:column;gap:10px}

.sup-supporter{background:var(--d2);border:1px solid var(--border);border-radius:12px;padding:14px 16px;
    transition:border-color .2s;display:flex;gap:12px;align-items:flex-start}
.sup-supporter:hover{border-color:rgba(252,219,68,.2)}
.sup-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;
  background:var(--ydim);border:1px solid rgba(252,219,68,.2);display:flex;align-items:center;justify-content:center}
.sup-avatar img{width:100%;height:100%;object-fit:cover}
.sup-avatar-heart{font-size:14px;color:var(--y);line-height:1}
.sup-avatar-link{text-decoration:none;transition:transform .15s}
.sup-avatar-link:hover{transform:scale(1.1)}
.sup-name-link{text-decoration:none;color:var(--text);transition:color .15s}
.sup-name-link:hover{color:var(--y)}
.sup-supporter-body{flex:1;min-width:0}
.sup-supporter-top{display:flex;align-items:center;gap:10px}
.sup-supporter-name{font-size:13px;font-weight:700;color:var(--text);flex:1;min-width:0}
.sup-supporter-amount{font-family:'Unbounded',sans-serif;font-size:13px;font-weight:700;color:var(--y);display:flex;align-items:center;gap:6px;flex-shrink:0}
.sup-recurring-badge{font-size:8px;font-weight:600;color:var(--y);background:var(--ydim);
  border:1px solid rgba(252,219,68,.2);border-radius:10px;padding:2px 7px;letter-spacing:.3px;white-space:nowrap}
.sup-supporter-msg{font-size:11px;color:var(--t2);line-height:1.5;margin-top:6px}


/* Thank You Page */
.sup-thanks{text-align:center;padding:80px 20px}
.sup-thanks-icon{font-size:64px;margin-bottom:18px;animation:supPulse 2.4s ease-in-out infinite;
    display:inline-flex;align-items:center;justify-content:center;width:100px;height:100px;border-radius:50%;background:rgba(255,69,69,.12)}
.sup-thanks-title{font-family:'Unbounded',sans-serif;font-size:32px;font-weight:900;color:var(--text);margin:0 0 12px}
.sup-thanks-msg{font-size:13px;color:var(--t2);line-height:1.6;max-width:400px;margin:0 auto 28px}
.sup-thanks-actions{display:flex;align-items:center;justify-content:center;gap:12px}

/* Responsive */
@media(max-width:768px){
    .sup-card{position:static}
}
@media(max-width:520px){
    .sup-wrap{padding:24px 16px 60px}
    .sup-title{font-size:22px}
    .sup-card{padding:20px 16px}
    .sup-presets{gap:6px}
    .sup-preset{padding:10px 6px;font-size:14px}
    .sup-thanks-title{font-size:24px}
}
