/* PayFurl donation form styled to align with the Lost Dogs' Home brand language. */
.bpd-form{
  --bpd-ink:#12395b;
  --bpd-ink-strong:#0d2e4b;
  --bpd-muted:#496d88;
  --bpd-line:#bfd3e1;
  --bpd-soft:#eef7fc;
  --bpd-soft-2:#f8fbfd;
  --bpd-card:#ffffff;
  --bpd-accent:#12395b;
  --bpd-accent-dark:#0d2e4b;
  --bpd-blue:#1e92d0;
  --bpd-blue-dark:#1778ab;
  --bpd-error:#12395b;
  --bpd-radius:0;
  max-width:1080px;
  margin:0 auto;
  color:var(--bpd-ink);
  font-family:inherit;
  line-height:1.45;
}
.bpd-form *{box-sizing:border-box}
.bpd-hp{position:absolute;left:-9999px}
.bpd-form button,.bpd-form input,.bpd-form select,.bpd-form textarea{font-family:inherit}

.bpd-tabs{
  display:flex;
  gap:18px;
  margin:0 0 34px;
  padding-bottom:16px;
  border-bottom:1px solid var(--bpd-line);
  background:transparent;
}
.bpd-tab{
  cursor:pointer;
  border:3px solid var(--bpd-blue);
  background:#fff;
  color:var(--bpd-blue);
  padding:13px 20px;
  margin:0;
  border-radius:3px;
  font-size:18px;
  font-weight:700;
  line-height:1.2;
  text-align:center;
  transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
  white-space:normal;
}
.bpd-tab:hover,.bpd-tab.is-active{
  color:#fff;
  background:var(--bpd-ink-strong);
  border-color:var(--bpd-ink-strong);
  box-shadow:none;
}

.bpd-section-heading{margin:0 0 28px}
.bpd-section-heading h2{
  margin:0 0 8px;
  color:var(--bpd-ink-strong);
  font-size:42px;
  line-height:1.06;
  font-weight:800;
  letter-spacing:-.02em;
}
.bpd-section-heading p{margin:0;color:var(--bpd-muted);font-size:18px;line-height:1.5}

.bpd-card{
  border:0;
  border-radius:0;
  padding:0;
  margin:0 0 42px;
  background:transparent;
  box-shadow:none;
}
.bpd-card legend{
  padding:0;
  margin:0 0 18px;
  color:var(--bpd-ink-strong);
  font-size:30px;
  font-weight:800;
  line-height:1.15;
}
.bpd-help{margin:14px 0 0;color:var(--bpd-muted);font-size:15px}

.bpd-amount-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:0;
}
.bpd-amount-button,
.bpd-other-wrap{
  width:100%;
  min-width:0;
  min-height:168px;
  border:3px solid var(--bpd-blue);
  background:#fff;
  color:var(--bpd-ink-strong);
  padding:28px 26px;
  border-radius:2px;
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:10px;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
  white-space:normal !important;
  word-break:normal;
  overflow-wrap:anywhere;
  overflow:hidden;
}
.bpd-amount-button{
  cursor:pointer;
}
.bpd-amount-button strong,
.bpd-amount-button span,
.bpd-other-title,
.bpd-other-copy{
  width:100%;
  min-width:0;
  white-space:normal !important;
  overflow-wrap:anywhere;
}
.bpd-amount-button strong{
  display:block;
  font-size:40px;
  line-height:1;
  font-weight:800;
  color:var(--bpd-ink-strong);
  text-align:center;
}
.bpd-amount-button span{
  display:block;
  font-size:16px;
  line-height:1.5;
  color:var(--bpd-muted);
  font-weight:500;
  text-align:center;
}
.bpd-amount-button:hover,
.bpd-other-wrap:hover{
  border-color:var(--bpd-ink-strong);
  background:var(--bpd-soft);
  transform:translateY(-1px);
}
.bpd-amount-button.is-active,
.bpd-other-wrap.is-active,
.bpd-other-wrap:focus-within{
  background:var(--bpd-ink-strong);
  border-color:var(--bpd-ink-strong);
  box-shadow:none;
}
.bpd-other-title{
  font-size:38px;
  line-height:1;
  font-weight:800;
  color:var(--bpd-ink-strong);
}
.bpd-other-copy{
  font-size:16px;
  line-height:1.5;
  color:var(--bpd-muted);
  font-weight:500;
}
.bpd-other-input-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  margin-top:4px;
  font-size:24px;
  font-weight:800;
  color:var(--bpd-ink-strong);
}
.bpd-other-wrap input{
  width:100%;
  min-width:0;
  max-width:180px;
  border:0;
  border-bottom:2px solid var(--bpd-line);
  outline:0;
  padding:6px 0;
  font:inherit;
  font-size:24px;
  text-align:center;
  background:transparent;
  color:var(--bpd-ink-strong);
}
.bpd-other-wrap input:focus{border-bottom-color:var(--bpd-blue)}

.bpd-amount-button.is-active strong,
.bpd-amount-button.is-active span,
.bpd-other-wrap.is-active .bpd-other-title,
.bpd-other-wrap.is-active .bpd-other-copy,
.bpd-other-wrap.is-active .bpd-other-input-row,
.bpd-other-wrap.is-active input,
.bpd-other-wrap:focus-within .bpd-other-title,
.bpd-other-wrap:focus-within .bpd-other-copy,
.bpd-other-wrap:focus-within .bpd-other-input-row,
.bpd-other-wrap:focus-within input{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.75);
}

.bpd-billing-title{margin:0 0 22px;font-size:30px;line-height:1.15;font-weight:800;color:var(--bpd-ink-strong)}
.bpd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin-top:0}
.bpd-grid label{display:flex;flex-direction:column;gap:8px;color:var(--bpd-ink-strong);font-size:15px;font-weight:700}
.bpd-grid input,.bpd-grid select{
  width:100%;
  border:1px solid var(--bpd-line);
  border-radius:3px;
  padding:14px 14px;
  color:var(--bpd-ink-strong);
  background:#fff;
  font-size:16px;
  min-height:50px;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.bpd-grid input:focus,.bpd-grid select:focus{outline:0;border-color:var(--bpd-blue);box-shadow:none}
.bpd-full{grid-column:1/-1}
.bpd-checkbox-row{display:flex !important;flex-direction:row !important;align-items:center;gap:10px !important;font-size:16px !important;font-weight:500 !important;color:var(--bpd-ink-strong) !important}
.bpd-checkbox-row input{width:18px !important;height:18px !important;min-height:18px !important;padding:0 !important;accent-color:var(--bpd-blue)}

.bpd-payment-methods{display:flex;gap:12px;margin:4px 0 18px;flex-wrap:wrap}
.bpd-payment-pill{border:2px solid var(--bpd-blue);background:#fff;color:var(--bpd-blue);padding:12px 18px;font-weight:700;font-size:16px;min-width:150px;text-align:center;border-radius:3px}
.bpd-payment-pill.is-active{border-color:var(--bpd-ink-strong);box-shadow:none;background:var(--bpd-ink-strong);color:#fff}
#bpd-payfurl-dropin{margin-top:8px;border:1px solid var(--bpd-line);background:#fff;padding:18px;border-radius:3px}
.bpd-terms{display:flex;align-items:flex-start;gap:12px;margin:6px 0 22px;color:var(--bpd-ink-strong);font-weight:500;font-size:15px;line-height:1.45}
.bpd-terms input{margin-top:4px;width:18px;height:18px;accent-color:var(--bpd-blue)}
.bpd-submit{cursor:pointer;border:0;border-radius:4px;background:var(--bpd-blue);color:#fff;padding:18px 34px;font-size:19px;font-weight:800;line-height:1;min-width:190px;transition:background .18s ease,transform .18s ease;display:inline-block;width:auto}
.bpd-submit:hover{background:var(--bpd-blue-dark);transform:translateY(-1px)}
.bpd-submit[disabled]{opacity:.72;cursor:wait;transform:none}
.bpd-secure-note,.bpd-tax-note{font-size:14px;color:var(--bpd-muted);margin:14px 0 0;line-height:1.45}
.bpd-message{margin-top:16px;padding:14px 16px;border-radius:3px;background:var(--bpd-soft);color:var(--bpd-ink-strong);font-weight:700;min-height:0;border:1px solid var(--bpd-line)}
.bpd-message:empty{display:none}.bpd-message.is-error{background:var(--bpd-soft);color:var(--bpd-ink-strong);border-color:var(--bpd-blue)}.bpd-message.is-success{background:#eaf7f1;color:#215b3e;border-color:#b9e1d0}.bpd-message.is-info{background:var(--bpd-soft);color:var(--bpd-muted);border-color:var(--bpd-line)}.bpd-error{color:var(--bpd-ink-strong);font-weight:800}
.et_pb_module .bpd-form,.elementor-widget-container .bpd-form{width:100%}
@media(max-width:780px){.bpd-form{max-width:100%}.bpd-tabs{margin-bottom:28px;gap:12px;flex-wrap:wrap}.bpd-tab{font-size:17px;padding:12px 16px}.bpd-section-heading h2{font-size:34px}.bpd-section-heading p{font-size:17px}.bpd-amount-grid{grid-template-columns:1fr}.bpd-grid{grid-template-columns:1fr}.bpd-card{margin-bottom:36px}.bpd-submit{width:100%;text-align:center}.bpd-amount-button,.bpd-other-wrap{min-height:150px;padding:24px 22px}}
@media(max-width:460px){.bpd-tabs{display:block;border-bottom:0;padding-bottom:0}.bpd-tab{display:block;width:100%;margin:0 0 10px}.bpd-section-heading h2{font-size:30px}.bpd-card legend,.bpd-billing-title{font-size:25px}.bpd-amount-button strong,.bpd-other-title{font-size:34px}}


/* Strong hover/active overrides to beat theme styles */
.bpd-tab,
.bpd-tab:visited{
  border:3px solid var(--bpd-ink-strong) !important;
  color:var(--bpd-ink-strong) !important;
  background:#fff !important;
}
.bpd-tab:hover,
.bpd-tab:focus,
.bpd-tab.is-active{
  border:3px solid var(--bpd-ink-strong) !important;
  color:#fff !important;
  background:var(--bpd-ink-strong) !important;
  box-shadow:none !important;
}

.bpd-amount-button,
.bpd-amount-button:visited,
.bpd-other-wrap{
  border:3px solid var(--bpd-ink-strong) !important;
  background:#fff !important;
}
.bpd-amount-button:hover,
.bpd-amount-button:focus,
.bpd-amount-button.is-active,
.bpd-other-wrap:hover,
.bpd-other-wrap:focus-within,
.bpd-other-wrap.is-active{
  border:3px solid var(--bpd-ink-strong) !important;
  background:var(--bpd-ink-strong) !important;
  box-shadow:none !important;
}
.bpd-amount-button:hover strong,
.bpd-amount-button:hover span,
.bpd-amount-button:focus strong,
.bpd-amount-button:focus span,
.bpd-amount-button.is-active strong,
.bpd-amount-button.is-active span,
.bpd-other-wrap:hover .bpd-other-title,
.bpd-other-wrap:hover .bpd-other-copy,
.bpd-other-wrap:hover .bpd-other-input-row,
.bpd-other-wrap:hover input,
.bpd-other-wrap:focus-within .bpd-other-title,
.bpd-other-wrap:focus-within .bpd-other-copy,
.bpd-other-wrap:focus-within .bpd-other-input-row,
.bpd-other-wrap:focus-within input,
.bpd-other-wrap.is-active .bpd-other-title,
.bpd-other-wrap.is-active .bpd-other-copy,
.bpd-other-wrap.is-active .bpd-other-input-row,
.bpd-other-wrap.is-active input{
  color:#fff !important;
  border-bottom-color:rgba(255,255,255,.8) !important;
}


/* v0.1.5: keep previous plugin card style, with current LDH amounts/text and blue validation */
.bpd-form[data-frequency="once"] .bpd-month-label{display:none !important;}
.bpd-form[data-frequency="monthly"] .bpd-month-label{display:inline !important;font-size:.72em;font-weight:800;}
.bpd-form[data-frequency="monthly"] .bpd-impact-once{display:none !important;}
.bpd-form[data-frequency="once"] .bpd-impact-monthly{display:none !important;}
.bpd-currency-symbol,.bpd-amount-number{display:inline !important;}

.bpd-grid input:invalid,
.bpd-grid select:invalid,
.bpd-grid input:user-invalid,
.bpd-grid select:user-invalid{
  border-color:var(--bpd-blue) !important;
  background:#fff !important;
  color:var(--bpd-ink-strong) !important;
  box-shadow:none !important;
}
.bpd-message.is-error,
.bpd-error,
.bpd-field-error{
  background:var(--bpd-soft) !important;
  color:var(--bpd-ink-strong) !important;
  border-color:var(--bpd-blue) !important;
}


/* v0.1.6: remove glow and improve billing amount field */
.bpd-form input:focus,
.bpd-form select:focus,
.bpd-form textarea:focus,
.bpd-grid input:focus,
.bpd-grid select:focus,
.bpd-other-wrap input:focus,
#bpd-display-amount:focus{
  outline:0 !important;
  box-shadow:none !important;
  border-color:var(--bpd-ink-strong) !important;
}
.bpd-grid label.bpd-full:first-child{
  font-size:16px !important;
  font-weight:800 !important;
  color:var(--bpd-ink-strong) !important;
}
.bpd-grid label.bpd-full:first-child .bpd-other-input-row{
  justify-content:flex-start !important;
  gap:10px !important;
  font-size:30px !important;
  font-weight:800 !important;
  color:var(--bpd-ink-strong) !important;
}
#bpd-display-amount{
  height:56px !important;
  max-width:none !important;
  width:100% !important;
  border:1px solid #333 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:var(--bpd-ink-strong) !important;
  font-size:30px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  padding:8px 16px !important;
  text-align:left !important;
  box-shadow:none !important;
}
#bpd-display-amount:focus{
  border:2px solid var(--bpd-ink-strong) !important;
}
.bpd-grid input:invalid,
.bpd-grid select:invalid,
.bpd-grid input:user-invalid,
.bpd-grid select:user-invalid{
  border-color:var(--bpd-ink-strong) !important;
  box-shadow:none !important;
  background:#fff !important;
  color:var(--bpd-ink-strong) !important;
}
.bpd-message.is-error,
.bpd-error,
.bpd-field-error{
  color:var(--bpd-ink-strong) !important;
  border-color:var(--bpd-ink-strong) !important;
  background:var(--bpd-soft) !important;
}


/* Amount number typography fix: keep preset numbers as large and bold as Custom amount. */
.bpd-amount-button strong{
  font-size:42px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  letter-spacing:-.02em !important;
}
.bpd-amount-button strong span,
.bpd-amount-button strong .bpd-currency-symbol,
.bpd-amount-button strong .bpd-amount-number,
.bpd-amount-button strong .bpd-month-label{
  display:inline !important;
  width:auto !important;
  min-width:0 !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:inherit !important;
  color:inherit !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
}
.bpd-form[data-frequency="monthly"] .bpd-month-label{
  display:inline !important;
  font-size:inherit !important;
  font-weight:inherit !important;
}
.bpd-other-title{
  font-size:42px !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}
.bpd-grid input:focus,
.bpd-grid select:focus,
.bpd-other-wrap input:focus{
  box-shadow:none !important;
  outline:0 !important;
  border-color:var(--bpd-ink-strong) !important;
}


/* Amount field: keep value clean inside the box, no separate currency symbol */
.bpd-amount-field .bpd-other-input-row{
  display:block !important;
  font-size:inherit !important;
  font-weight:inherit !important;
}
.bpd-amount-field #bpd-display-amount{
  max-width:none !important;
  width:100% !important;
  border:1px solid #333 !important;
  border-radius:0 !important;
  padding:14px 18px !important;
  font-size:20px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  color:var(--bpd-ink-strong) !important;
  background:#fff !important;
  text-align:left !important;
  box-shadow:none !important;
}
.bpd-amount-field #bpd-display-amount:focus{
  border-color:var(--bpd-ink-strong) !important;
  box-shadow:none !important;
  outline:0 !important;
}
