.page-wrap{ max-width: 1120px; margin:0 auto; padding:0 12px; }

.pay-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  padding:18px;
  box-shadow:0 .75rem 1.8rem rgba(15,23,42,.06);
  height:100%;
}

.card-head{
  min-height:94px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.pay-kicker{
  color: var(--muted);
  font-size: 13px;
}

.control-box{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background: var(--nearwhite);
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:10px 12px;
}

.stripe-shell{
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  background:#fff;
  padding:14px;
}

.plan-choice{
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  padding:12px;
  cursor:pointer;
  transition: transform .12s ease, border-color .12s ease, background-color .12s ease;
  background:#fff;
}

.plan-choice:hover{ transform: translateY(-1px); }

.plan-choice.active{
  border-color: rgba(0,0,0,.35);
  background: var(--nearwhite);
}

.plan-choice .title{
  font-weight:750;
  letter-spacing:-0.01em;
  color:var(--text);
  margin:0;
}

.plan-choice .price{
  font-size:26px;
  font-weight:800;
  letter-spacing:-0.02em;
  margin:2px 0 4px;
  line-height:1.1;
}

.small-muted{
  color: var(--muted);
  font-size: 13px;
}

.full-helper{
  margin-top:6px;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}

.errbox{
  border:1px solid rgba(220,53,69,.35);
  background: rgba(220,53,69,.06);
  color:#7a1c27;
  border-radius:14px;
  padding:10px 12px;
  font-size:13px;
  display:none;
  white-space: pre-wrap;
  word-break: break-word;
}

.okbox{
  border:1px solid rgba(25,135,84,.28);
  background: rgba(25,135,84,.06);
  color:#0f5132;
  border-radius:14px;
  padding:10px 12px;
  font-size:13px;
  display:none;
  white-space: pre-wrap;
  word-break: break-word;
}

.infobox{
  border:1px solid rgba(13,110,253,.25);
  background: rgba(13,110,253,.06);
  color:#084298;
  border-radius:14px;
  padding:10px 12px;
  font-size:13px;
  display:none;
  white-space: pre-wrap;
  word-break: break-word;
}

.section{ padding:44px 0; }
