.bt-donation-form,
#bt-donation-form,
.bt-recurring-portal {
  max-width: 560px;
  margin: 0 auto;
  font-family: Arial, sans-serif;
}
#bt-donation-form p,
.bt-recurring-portal p { margin-bottom: 12px; }
#bt-donation-form label,
.bt-recurring-portal label { font-weight: bold; display: block; margin-bottom: 4px; }
#bt-donation-form input[type="text"],
#bt-donation-form input[type="email"],
#bt-donation-form input[type="number"],
#bt-donation-form input[type="tel"],
.bt-recurring-portal input[type="email"],
.bt-recurring-portal input[type="tel"],
.bt-recurring-portal textarea {
  width: 100%; padding: 9px; border: 1px solid #ccc; border-radius: 6px; box-sizing: border-box;
}
.wpfs-button-group { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.wpfs-button-group label {
  flex: 1; padding: 10px 16px; border: 1px solid #0073aa; border-radius: 6px; background: #fff; color: #0073aa; text-align: center; cursor: pointer; box-sizing: border-box;
}
.wpfs-button-group label:hover,
.wpfs-button-group label:has(input[type="radio"]:checked) { background: #0073aa; color: #fff; border-color: #0073aa; }
#donate-button,
.bt-recurring-portal button,
.bt-request-cancel {
  display: inline-block; width: 100%; padding: 12px; background: #0073aa; color: #fff; border: none; border-radius: 6px; cursor: pointer;
}
#donate-button:disabled,
.bt-recurring-portal button:disabled { opacity: 0.6; cursor: not-allowed; }
#card-errors { margin-top: 8px; font-size: 0.92em; color: #b00020; }
#custom-amount { display: none; margin-top: 8px; }
.bt-recurring-note { padding: 12px; margin: 0 0 14px; border: 1px solid #f0c36d; border-radius: 6px; background: #fff8e5; color: #5f4700; font-size: 0.92em; line-height: 1.4; }
.bt-consent { margin-top: 10px !important; font-weight: normal !important; }
.bt-consent input { margin-right: 6px; }
.bt-recurring-card { border: 1px solid #ddd; border-radius: 8px; padding: 14px; margin: 14px 0; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.05); }
.bt-cancel-reason { min-height: 70px; margin-bottom: 10px; }
.bt-success-msg { padding: 10px; background: #e9f8ef; border: 1px solid #8fd19e; border-radius: 6px; }
