/* Quick Payment form - matches the site's form style */
.bpb-qp { font-family: "Figtree", sans-serif; color: #1A1A1A; display: grid; gap: 18px; }
.bpb-qp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; }
.bpb-qp label { display: flex; flex-direction: column; gap: 8px; font-weight: 600; font-size: 14.5px; margin: 0; }
.bpb-qp label > span[aria-hidden] { display: none; }
.bpb-qp-wide { grid-column: 1 / -1; }
.bpb-qp input, .bpb-qp textarea { width: 100%; min-height: 54px; padding: 14px 16px; border: 1.5px solid #D6D6D6 !important; border-radius: 14px !important; background: #FFFFFF; font: 400 16px/1.4 "Figtree", sans-serif; color: #1A1A1A; transition: border-color .15s, box-shadow .15s; }
.bpb-qp textarea { min-height: 110px; resize: vertical; }
.bpb-qp input:focus, .bpb-qp textarea:focus { outline: none; border-color: #1A1A1A !important; box-shadow: 0 0 0 4px rgba(26,26,26,.08); }
.bpb-qp-money { position: relative; display: block; }
.bpb-qp-money > span { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); font: 600 18px "Fredoka", sans-serif; color: #1A1A1A; pointer-events: none; }
.bpb-qp-money input { padding-left: 36px !important; font: 600 20px "Fredoka", sans-serif; }
.bpb-qp .bpb-qp-btn { display: inline-flex; justify-content: center; align-items: center; gap: 10px; width: 100%; padding: 18px 28px; border: 0; border-radius: 100px; background: #1A1A1A; color: #FFFFFF; font: 500 17.5px "Fredoka", sans-serif; cursor: pointer; transition: background .2s, transform .2s; }
.bpb-qp .bpb-qp-btn:hover, .bpb-qp .bpb-qp-btn:focus-visible { background: #333333; color: #FFFFFF; transform: translateY(-2px); }
.bpb-qp-note { margin: 0; text-align: center; font-size: 14px; color: #505050; }
.bpb-qp-error { margin: 0; padding: 12px 16px; border-radius: 14px; background: #FDECEA; color: #8A1C12; font-size: 15px; }
@media (max-width: 767px) { .bpb-qp-grid { grid-template-columns: 1fr; } }
.bpb-qp-done { padding: 22px 24px; border-radius: 18px; background: #EAF6EE; color: #14532D; font-family: "Figtree", sans-serif; }
.bpb-qp-done strong { display: block; font: 600 22px "Fredoka", sans-serif; color: #14532D; margin-bottom: 6px; }
.bpb-qp-done p { margin: 0; font-size: 16px; line-height: 1.55; }
.bpb-qp .bpb-qp-btn.is-busy { opacity: .85; cursor: progress; transform: none; }
.bpb-qp-spin { width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.35); border-top-color: #FFFFFF; border-radius: 50%; animation: bpbQpSpin .7s linear infinite; }
@keyframes bpbQpSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .bpb-qp-spin { animation: none; } }
