/* ==========================================================================
   WAI Pay — checkout buttons + result alerts
   ========================================================================== */
.waipay-wrap {
  --waipay-navy:#003161; --waipay-navy2:#06427f; --waipay-ink:#1a2233; --waipay-line:#d7dee7;
  font-family:"Montserrat",Arial,Helvetica,sans-serif; color:var(--waipay-ink);
}
.waipay-wrap * { box-sizing:border-box; }

.waipay-buttons { display:flex; flex-wrap:wrap; gap:14px; }
.waipay-form { margin:0; flex:1 1 auto; }
.waipay-btn {
  display:flex; flex-direction:column; align-items:center; gap:2px;
  width:100%; padding:15px 26px;
  border:none; border-radius:999px;
  background:var(--waipay-navy); color:#fff;
  font-family:inherit; font-weight:700; font-size:1rem; cursor:pointer;
  transition:background .15s ease;
}
.waipay-btn:hover { background:var(--waipay-navy2); }
.waipay-btn-sub { font-weight:500; font-size:.78rem; opacity:.85; }

.waipay-secure { margin:14px 0 0; font-size:.82rem; color:#6b7280; text-align:center; }

.waipay-alert { padding:14px 18px; border-radius:10px; margin-bottom:18px; font-size:.95rem; }
.waipay-alert a { font-weight:700; color:var(--waipay-navy); }
.waipay-alert-success { background:#e8f6ee; border:1px solid #a6dcbd; color:#1c6b3f; }
.waipay-alert-error   { background:#fdecec; border:1px solid #f2b8b8; color:#a12727; }
.waipay-alert-info    { background:#eef3f9; border:1px solid #c5d6ea; color:var(--waipay-navy); }

/* ==========================================================================
   WAI Pay — combined membership form ([wai_membership_form])
   ========================================================================== */
.waipay-mf {
  --waipay-navy:#003161; --waipay-navy2:#06427f; --waipay-red:#b5121b;
  --waipay-ink:#1a2233; --waipay-line:#dce3ec;
  font-family:"Montserrat",Arial,Helvetica,sans-serif; color:var(--waipay-ink);
  max-width:640px; margin:0 auto;
}
.waipay-mf * { box-sizing:border-box; }
.waipay-hp { position:absolute; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden; }

.waipay-mf-form { border:1px solid var(--waipay-line); border-radius:16px; overflow:hidden; background:#fff; }

.waipay-mf-head {
  background:linear-gradient(160deg,var(--waipay-navy),var(--waipay-navy2));
  color:#fff; text-align:center; padding:34px 28px 30px;
}
.waipay-mf-head h2 { margin:0 0 10px; font-size:1.8rem; font-weight:800; }
.waipay-mf-head p { margin:0 auto 18px; max-width:440px; line-height:1.55; color:#dbe6f2; font-size:.95rem; }
.waipay-secure-badge {
  display:inline-flex; align-items:center; gap:7px;
  background:#fff; color:var(--waipay-ink); font-weight:700; font-size:.8rem;
  padding:8px 16px; border-radius:999px;
}

.waipay-mf-body { padding:28px 30px 30px; }
.waipay-block { margin-bottom:26px; }
.waipay-label { display:block; font-weight:800; font-size:1.05rem; margin-bottom:12px; }
.waipay-sub { margin:-6px 0 14px; color:#6b7280; font-size:.9rem; }
.waipay-req { color:var(--waipay-red); }

/* frequency toggle */
.waipay-freq-toggle { display:flex; border:1px solid var(--waipay-line); border-radius:10px; overflow:hidden; }
.waipay-freq-btn {
  flex:1 1 0; padding:12px; border:none; background:#fff; font:inherit; font-weight:700;
  color:var(--waipay-ink); cursor:pointer;
}
.waipay-freq-btn.is-active { background:var(--waipay-navy); color:#fff; }

/* level tiles */
.waipay-tiles { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.waipay-tile {
  display:flex; flex-direction:column; align-items:center; gap:4px;
  padding:16px 12px; border:2px solid var(--waipay-line); border-radius:12px;
  background:#fff; cursor:pointer; font:inherit; text-align:center; transition:border-color .15s, background .15s;
}
.waipay-tile:hover { border-color:#b9c6d8; }
.waipay-tile.is-active { border-color:var(--waipay-navy); background:#f2f7fd; }
.waipay-tile-name { font-size:.82rem; font-weight:600; color:#55637a; }
.waipay-tile-amt { font-size:1.35rem; font-weight:800; color:var(--waipay-ink); }
.waipay-tile-amt small { font-size:.72rem; font-weight:600; color:#8a97a8; }
.waipay-tile-custom { grid-column:1 / -1; }

.waipay-custom-wrap { display:flex; align-items:center; gap:10px; margin-top:12px; }
.waipay-cur { font-weight:700; color:#6b7280; }
.waipay-custom-wrap input { flex:1 1 auto; padding:12px 14px; border:1px solid var(--waipay-line); border-radius:8px; font:inherit; }

/* giver fields */
.waipay-row { display:flex; gap:14px; flex-wrap:wrap; }
.waipay-row .waipay-field { flex:1 1 200px; }
.waipay-field { margin-bottom:14px; }
.waipay-field label { display:block; font-weight:600; font-size:.88rem; margin-bottom:6px; }
.waipay-field input { width:100%; padding:12px 14px; border:1px solid var(--waipay-line); border-radius:8px; font:inherit; background:#fafbfc; }
.waipay-field input:focus, .waipay-custom-wrap input:focus { outline:2px solid var(--waipay-navy); border-color:var(--waipay-navy); background:#fff; }

/* summary */
.waipay-summary { background:#f6f8fb; border:1px solid var(--waipay-line); border-radius:12px; padding:18px 20px; margin-bottom:22px; }
.waipay-summary h3 { margin:0 0 12px; font-size:1.05rem; font-weight:800; }
.waipay-summary-row { display:flex; justify-content:space-between; padding:6px 0; font-size:.92rem; color:#55637a; }
.waipay-summary-row strong { color:var(--waipay-ink); }
.waipay-summary-total { display:flex; justify-content:space-between; padding-top:12px; margin-top:6px; border-top:1px solid var(--waipay-line); font-size:1.05rem; }
.waipay-summary-total strong { font-size:1.3rem; color:var(--waipay-navy); }

.waipay-mf-submit {
  width:100%; padding:16px; border:none; border-radius:10px;
  background:var(--waipay-navy); color:#fff; font-family:inherit; font-weight:800; font-size:1.05rem; cursor:pointer;
  transition:background .15s ease;
}
.waipay-mf-submit:hover:not(:disabled) { background:var(--waipay-navy2); }
.waipay-mf-submit:disabled { opacity:.5; cursor:not-allowed; }

@media (max-width:520px){ .waipay-mf-body{padding:22px 18px;} .waipay-tiles{grid-template-columns:1fr;} }
