:root{
  --purple:#371b59;
  --red:#b31c20;
  --gold:#d4af37;
  --lav:#efe9f8;
  --lav2:#f6f2fb;
  --border:#d7cdea;
  --ink:#231f2e;
}

body{ background:var(--lav2); color:var(--ink); }

.donation_hero{
  position:relative;
  height:400px;
  background:url('../img/slider/donatebg.webp') center/cover no-repeat;
}
.donation_hero::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.15), rgba(55,27,89,.18));
}
.donation_hero .logo-badge{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(220px, 50vw);
  filter: drop-shadow(0 16px 24px rgba(0,0,0,.25));
}

.panel{
  margin-top:-34px;
  background:rgba(239,233,248,.92);
  border-top:1px solid rgba(255,255,255,.7);
  box-shadow: 0 18px 50px rgba(20, 10, 35, .18);
  backdrop-filter: blur(4px);
}

.panel-inner{
  max-width: 920px;
  margin:0 auto;
  padding:26px 22px 28px;
}

.h1{
  font-weight:800;
  color:var(--purple);
  letter-spacing:-.02em;
}
.sub{
  color:#4a4262;
  font-size:1.15rem;
}

.section-title{
  margin-top:18px;
  font-weight:800;
  color:var(--purple);
}

.amount-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}
.amount-btn{
  border:1px solid var(--border);
  background:rgba(255,255,255,.55);
  color:#2b2540;
  padding:10px 18px;
  border-radius:10px;
  font-weight:700;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  transition: all .15s ease;
}
.amount-btn:hover{ transform:translateY(-1px); }
.amount-btn.active{
  background:#371b59;
  color: #ffffff;
  border-color:rgba(55,27,89,.35);
  outline:3px solid rgba(55,27,89,.12);
}

.form-card{
  background:rgba(255,255,255,.45);
  border:1px solid rgba(215,205,234,.85);
  border-radius:14px;
  padding:16px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.form-control, .form-select{
  border-radius:10px;
  border:1px solid rgba(215,205,234,.95);
  background:rgba(255,255,255,.62);
  padding:12px 14px;
}
.form-control:focus, .form-select:focus{
  border-color:rgba(55,27,89,.45);
  box-shadow:0 0 0 .25rem rgba(55,27,89,.12);
}

.disclaimer{
  font-size:.95rem;
  color:#4b4464;
  line-height:1.7;
}

.stripe-btn{
  display:block;
  width:100%;
  border:none;
  padding:14px 16px;
  border-radius:12px;
  font-weight:900;
  font-size:1.2rem;
  color:#fff;
  background:linear-gradient(180deg, #2c3a89, #1f2c63);
  box-shadow: 0 12px 26px rgba(20,10,35,.25);
}
.stripe-btn small{ font-weight:600; opacity:.9; }

.selected-pill{
  display:inline-block;
  padding:10px 15px;
  border-radius:10px;
  background:#b31c20;
  border:2px solid var(--purple);
  font-weight:800;
  color:white;
}

.alert-min{
  display:none;
}
.alert-min.show{
  display:block;
}
