/* =====================================================================
   PNG Beyond50 · GiveWP checkout styling
   Covers: legacy option-based forms (Multi-Step "Sequoia", Classic, Legacy)
   and GiveWP 3+/4 visual-builder forms (loaded inside the form iframe).
   ===================================================================== */
:root{
  --pb-navy:#003A64; --pb-navy-deep:#00243F; --pb-leaf:#439A3A; --pb-lime:#7DA630;
  --pb-sun:#F5A90C; --pb-clay:#E8771B; --pb-line:#DCE3D6; --pb-surface-2:#F1F5EC; --pb-text:#1A2530; --pb-muted:#5B6A73;
  --pb-display:"Bricolage Grotesque","Trebuchet MS",system-ui,sans-serif;
  --pb-body:"Figtree","Segoe UI",system-ui,sans-serif;
  --givewp-primary-color:#439A3A;
  --givewp-secondary-color:#F5A90C;
}

/* ---------- Shared: amount buttons ---------- */
.give-donation-levels-wrap,#give-donation-level-button-wrap{display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 14px!important; padding:0!important; list-style:none}
.give-donation-levels-wrap li{margin:0!important; width:auto!important}
.give-donation-level-btn,.give-btn-level-custom,
.givewp-fields-amount__level{
  width:100%!important; font-family:var(--pb-display)!important; font-weight:800!important; font-size:1.25rem!important;
  padding:18px 10px!important; border:2px solid var(--pb-line)!important; border-radius:14px!important;
  background:#fff!important; color:var(--pb-navy)!important; box-shadow:none!important; transition:border-color .15s,background .15s}
.give-donation-level-btn:hover,.givewp-fields-amount__level:hover{border-color:var(--pb-lime)!important}
.give-donation-level-btn.give-default-level,.give-btn-level-custom.give-default-level,
.givewp-fields-amount__level--selected,.givewp-fields-amount__level[aria-pressed="true"]{
  border-color:var(--pb-leaf)!important; background:#EEF6EA!important; box-shadow:inset 0 0 0 1px var(--pb-leaf)!important; color:var(--pb-navy)!important}
@media (max-width:560px){.give-donation-levels-wrap,#give-donation-level-button-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* custom amount field */
.give-total-wrap .give-donation-amount,.givewp-fields-amount__input-container{display:flex!important; align-items:center; border:2px solid var(--pb-line)!important; border-radius:14px!important; overflow:hidden; background:#fff}
.give-total-wrap .give-donation-amount:focus-within,.givewp-fields-amount__input-container:focus-within{border-color:var(--pb-leaf)!important}
.give-currency-symbol{background:transparent!important; border:0!important; font-family:var(--pb-display)!important; font-weight:800; font-size:1.3rem!important; color:var(--pb-navy)!important; padding:0 4px 0 18px!important}
#give-amount,.give-amount-top,.givewp-fields-amount__input{border:0!important; box-shadow:none!important; font-family:var(--pb-display)!important; font-weight:800!important; font-size:1.3rem!important; color:var(--pb-navy)!important; padding:16px 12px!important}

/* ---------- Text inputs ---------- */
.give-form input[type=text],.give-form input[type=email],.give-form input[type=tel],.give-form select,.give-form textarea,
.givewp-donation-form input[type=text],.givewp-donation-form input[type=email],.givewp-donation-form input[type=tel],.givewp-donation-form select,.givewp-donation-form textarea{
  font-family:var(--pb-body)!important; font-size:1rem!important; border:1.5px solid var(--pb-line)!important; border-radius:10px!important; padding:13px 14px!important; background:#fff!important; color:var(--pb-text)!important; box-shadow:none!important}
.give-form input:focus,.give-form select:focus,.givewp-donation-form input:focus,.givewp-donation-form select:focus{border-color:var(--pb-leaf)!important; box-shadow:0 0 0 4px rgba(67,154,58,.18)!important; outline:none}
.give-form label,.givewp-donation-form label{font-family:var(--pb-body); font-weight:600; color:var(--pb-navy)}
.give-form legend,.givewp-layouts-section legend,.givewp-layouts-section__fieldset legend{font-family:var(--pb-display)!important; font-weight:800; color:var(--pb-navy)!important; border:0!important}

/* ---------- Payment gateways ---------- */
#give-gateway-radio-list{display:grid!important; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; padding:0!important; margin:0 0 16px!important}
#give-gateway-radio-list li{margin:0!important; border:2px solid var(--pb-line); border-radius:14px; padding:14px 16px!important; background:#fff; cursor:pointer}
#give-gateway-radio-list li.give-gateway-option-selected{border-color:var(--pb-leaf); box-shadow:inset 0 0 0 1px var(--pb-leaf)}
#give-gateway-radio-list li label{font-weight:700; color:var(--pb-navy)}
.givewp-fields-gateways__gateway{border:2px solid var(--pb-line)!important; border-radius:14px!important}
.givewp-fields-gateways__gateway--active{border-color:var(--pb-leaf)!important}

/* ---------- Primary action ---------- */
#give-purchase-button,.give-submit,.give-btn.advance-btn,.give-btn-reveal,.give-btn-modal,
.givewp-donation-form button[type=submit],.givewp-donation-form__steps-button-next,.givewp-donation-form__steps-footer button{
  font-family:var(--pb-body)!important; font-weight:700!important; font-size:1.05rem!important; text-transform:none!important;
  border-radius:999px!important; padding:16px 28px!important; border:0!important;
  background:var(--pb-sun)!important; color:var(--pb-navy-deep)!important; box-shadow:0 6px 18px rgba(245,169,12,.35)!important; transition:transform .15s,background .15s; width:auto}
#give-purchase-button:hover,.give-submit:hover,.give-btn.advance-btn:hover,.givewp-donation-form button[type=submit]:hover{background:#FFB823!important; transform:translateY(-1px)}
#give-purchase-button::before{content:"\1F512\00a0"}

/* ---------- Multi-step (Sequoia) template ---------- */
.give-form-templates .give-form-navigator{background:var(--pb-navy)!important; border-radius:14px 14px 0 0}
.give-form-templates .give-form-navigator .title,.give-form-templates .give-form-navigator button{color:#fff!important}
.give-form-templates .give-form-navigator .step-tracker{background:var(--pb-sun)!important}
.give-form-templates .give-section.introduction .headline{font-family:var(--pb-display)!important; color:var(--pb-navy)!important}
.give-form-templates .give-section.introduction .image img{border-radius:14px}
.give-form-templates .give-section.introduction .income-stats .raised,.give-form-templates .give-section.introduction .income-stats .goal{font-family:var(--pb-display)!important; color:var(--pb-navy)!important}
.give-form-templates .give-progress-bar,.give-form-templates .progress-bar{background:var(--pb-surface-2)!important; border-radius:99px}
.give-form-templates .give-progress-bar span,.give-form-templates .progress-bar span{background:linear-gradient(90deg,var(--pb-leaf),var(--pb-lime) 70%,var(--pb-sun))!important}

/* ---------- Visual-builder (v3+) form chrome ---------- */
.givewp-layouts-header,.givewp-donation-form__header{background:radial-gradient(900px 400px at 85% -10%,#0B5A8F 0%,transparent 60%),linear-gradient(180deg,var(--pb-navy),var(--pb-navy-deep))!important; color:#F2F6F9!important; border-radius:14px 14px 0 0}
.givewp-layouts-headerTitle,.givewp-layouts-header h2{font-family:var(--pb-display)!important; color:#fff!important}
.givewp-layouts-headerDescription{color:#B8C9D6!important}
.givewp-layouts-goal__progress,.givewp-layouts-goal progress{accent-color:var(--pb-leaf)}
.givewp-donation-form__steps-header-previous-button{color:var(--pb-muted)!important}

/* ---------- Fee recovery + summary ---------- */
.give-fee-recovery-donors-choice,.givewp-fields-feeRecovery{background:#F3F8EC; border:1px dashed rgba(67,154,58,.5); border-radius:14px; padding:14px 16px!important}
.give-donation-total-label,.give-final-total-wrap,.givewp-elements-donationSummary{font-family:var(--pb-display)!important; color:var(--pb-navy)!important}

/* ---------- Receipt ---------- */
.give-receipt-wrap,.givewp-receipt,#give_donation_receipt{border-radius:18px; border:1px solid var(--pb-line); box-shadow:0 8px 28px rgba(0,36,63,.08)}
.give_success,.give-notice-success{border-left:4px solid var(--pb-leaf)!important; background:#EEF6EA!important}
.give_error,.give-notice-error{border-left:4px solid #C0392B!important}
