/* Donation store — inherits from style.css */

.st-main{max-width:960px;margin:0 auto;padding:8rem 1.4rem 4rem}
.st-head{text-align:center;margin-bottom:2.6rem;animation:riseIn .8s ease both}
.st-title{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(2rem,5.5vw,3.4rem);line-height:1.05;margin-bottom:.6rem;
  background:linear-gradient(180deg,#fff 0%,#dfe8ff 40%,var(--gold-bright) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.st-lead{color:var(--ink-soft);font-size:1.05rem;max-width:640px;margin:0 auto}
.st-lead strong{color:var(--ink)}

/* closed state */
.st-closed-inner{
  max-width:560px;margin:0 auto;text-align:center;
  background:var(--panel);border:1px solid var(--line);border-radius:20px;
  padding:3rem 2rem;box-shadow:var(--shadow);
}
.st-closed-icon{font-size:2.6rem;margin-bottom:.8rem}
.st-closed-inner h2{
  font-family:var(--font-display);font-size:1.6rem;margin-bottom:.6rem;
  background:linear-gradient(180deg,#fff,var(--gold-bright));-webkit-background-clip:text;background-clip:text;color:transparent;
}
.st-closed-inner p{color:var(--ink-soft);margin-bottom:1.4rem}

/* character input */
.st-char{max-width:420px;margin:0 auto 2rem;display:flex;flex-direction:column;gap:.4rem}
.st-char label{
  font-family:var(--font-display);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--frost-bright);
}
.st-char input{
  font-family:var(--font-body);font-size:1.05rem;color:var(--ink);text-align:center;
  background:rgba(6,10,18,.75);border:1px solid var(--line-soft);border-radius:11px;
  padding:.8em 1em;transition:border-color .2s, box-shadow .2s;
}
.st-char input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(232,200,119,.15)}
.st-char-hint{font-size:.8rem;color:var(--ink-dim);text-align:center}

/* packages */
.st-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.2rem;margin-bottom:2rem}
.st-cat{
  grid-column:1 / -1;
  font-family:var(--font-display);font-weight:700;font-size:1.25rem;
  margin:1.2rem 0 .1rem;display:flex;align-items:center;gap:.9rem;
  background:linear-gradient(180deg,#fff,var(--gold-bright));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.st-cat::after{
  content:"";flex:1;height:1px;
  background:linear-gradient(90deg,var(--line),transparent);
}
.st-badge{
  position:absolute;top:-10px;right:12px;
  font-family:var(--font-display);font-size:.64rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:#1a1305;
  background:linear-gradient(180deg,var(--gold-bright),var(--gold-deep));
  padding:.3em .8em;border-radius:999px;
  box-shadow:0 6px 14px -6px rgba(232,200,119,.7);
}
.st-card{
  position:relative;
  background:var(--panel);border:1px solid var(--line-soft);border-radius:16px;
  padding:1.6rem 1.4rem;text-align:center;cursor:pointer;
  transition:transform .25s, border-color .25s, box-shadow .25s;
}
.st-card:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:var(--shadow)}
.st-card.selected{border-color:var(--gold);box-shadow:0 0 0 2px rgba(232,200,119,.35), var(--shadow)}
.st-card h3{font-family:var(--font-serif);font-size:1.2rem;margin-bottom:.4rem}
.st-card p{color:var(--ink-soft);font-size:.88rem;margin-bottom:.9rem;min-height:2.6em}
.st-price{
  font-family:var(--font-display);font-weight:800;font-size:1.5rem;color:var(--gold-bright);
  text-shadow:0 0 18px rgba(232,200,119,.35);
}

/* paypal area */
.st-paypal-wrap{max-width:420px;margin:0 auto 1.5rem;text-align:center;display:flex;flex-direction:column;gap:1rem}
.st-selected{font-family:var(--font-serif);font-size:1.1rem;color:var(--ink)}
.st-selected strong{color:var(--gold-bright)}

.st-msg{
  max-width:520px;margin:0 auto;text-align:center;border-radius:11px;
  padding:0;max-height:0;overflow:hidden;transition:max-height .3s, padding .3s;font-size:.95rem;
}
.st-msg.show{max-height:140px;padding:.9em 1.1em}
.st-msg.ok{background:rgba(84,224,138,.12);border:1px solid rgba(84,224,138,.35);color:#a8f0c4}
.st-msg.err{background:rgba(224,84,106,.12);border:1px solid rgba(224,84,106,.35);color:#f0b4bf}

.st-fine{margin-top:2.4rem;text-align:center;font-size:.78rem;color:var(--ink-dim);line-height:1.6}

@media (max-width:560px){
  .st-main{padding-top:6.5rem}
  .nav-cta{display:none}
}
