/* Styles for the parts written for the new site (forms, donation form). Theme styles live in colibri-site.css. */

/* Forms: show the Forminator markup without its script, plus our error states. */
.shp-form.forminator-ui { display: block !important; }
.shp-anchor { display: block; position: relative; top: -120px; visibility: hidden; }
.shp-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.shp-form .forminator-response-message:not(.forminator-show) { display: none; }
.shp-form .forminator-response-message.forminator-show { display: block; padding: 12px 16px; border-radius: 4px; margin-bottom: 20px; }
.shp-form .forminator-response-message.forminator-success { background: #1abc9c; color: #fff; }
.shp-form .forminator-response-message.forminator-error { background: #f9e4e8; color: #333; }
.shp-form .forminator-response-message p { margin: 0; color: inherit; }
.shp-form .forminator-error-message { display: block; margin-top: 5px; color: #c0213f; font-size: 12px; line-height: 1.4; }
.shp-form .forminator-error-message[hidden] { display: none; }
.shp-form .forminator-has_error .forminator-input,
.shp-form .forminator-has_error .forminator-textarea,
.shp-form .forminator-has_error select { border-color: #e04562 !important; }
.shp-form .forminator-button-submit[disabled] { opacity: .6; cursor: wait; }
.shp-form select.forminator-select2 { width: 100%; }
.shp-form .forminator-checkbox, .shp-form .forminator-radio { display: flex; align-items: center; gap: 8px; margin: 6px 0; cursor: pointer; }
.shp-form .forminator-radio-inline { display: inline-flex; margin-right: 20px; }
/* High-contrast success message (white on dark green, 5.6:1) for WCAG AA. */
.shp-form.forminator-ui .forminator-response-message.forminator-success,
.shp-form.forminator-ui .forminator-response-message.forminator-success p { background-color: #067963 !important; color: #fff !important; }

/* Screen-reader-only text, e.g. "(opens in a new tab)" added by site.js. */
.shp-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Accessibility: visible keyboard focus (WCAG 2.4.7). The theme removes outlines from everything (* { outline: 0 }).
   Blue ring with a white inner edge so it shows on light and dark sections. Mouse clicks don't trigger it. */
#colibri :focus-visible { outline: 3px solid #0277bd !important; outline-offset: 2px !important; box-shadow: 0 0 0 2px #fff !important; border-radius: 2px; }

/* Accessibility: social icons get a 24x24 tap area (WCAG 2.5.8); the visible icon stays 20px. */
#colibri .h-social-icons .social-icon-container > a { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; min-height: 24px; }

/* ---- Accessibility: contrast (WCAG 1.4.3). Generated from colibri-site.css. ---- */
/* Buttons/tabs: white text on #03a9f4 was 2.63:1; #0277bd is 4.8:1. Hover colours already pass. */
#colibri .style-924,
#colibri .style-1568,
#colibri .style-1569,
#colibri .style-1571,
#colibri .style-1572,
#colibri .style-567 .h-contact-form-shortcode [type="submit"],#colibri .style-567 .h-contact-form-shortcode .forminator-row .forminator-col .forminator-button-submit,
#colibri .style-652,
#colibri .style-29,
#colibri .comment-respond .comment-form [type="submit"],
#colibri .comment-respond .comment-form [type="submit"]:active,
#colibri .style-333 .h-contact-form-shortcode [type="submit"],#colibri .style-333 .h-contact-form-shortcode .forminator-row .forminator-col .forminator-button-submit,
#colibri .style-397,
#colibri .style-401,
#colibri .style-436,
#colibri .style-442,
#colibri .style-553,
#colibri .style-743,
#colibri .style-745,
#colibri .style-752,
#colibri .style-894,
#colibri .style-895,
#colibri .style-1006 .colibri-newsletter__submit-group button[type="submit"],
#colibri .style-1209,
#colibri .style-1446 .h-tabs-navigation .h-tabs-navigation-item:hover,
#colibri .style-1446 .h-tabs-navigation .h-tabs-navigation-item.h-custom-active-state,
#colibri .style-1469,
#colibri .style-1522,
#colibri .style-1537,
#colibri .style-1599,
#colibri .style-1615,
#colibri .style-1617,
#colibri .style-1619,
#colibri .style-1645,
#colibri .style-1648 { background-color: #0277bd; border-color: #0277bd; }
/* Hover text in #f79007 was 2.35:1 on white; #b35c00 is 4.7:1. */
#colibri .style-311 h1:hover,#colibri .style-311 h2:hover,#colibri .style-311 h3:hover,#colibri .style-311 h4:hover,#colibri .style-311 h5:hover,#colibri .style-311 h6:hover,
#colibri .style-315 a:hover,
#colibri .style-318:hover,#colibri .style-318:focus,
#colibri .style-310 a:hover,#colibri .style-310 .colibri-post-category:hover,
#colibri .style-598 a:hover,#colibri .style-598 .colibri-post-category:hover,
#colibri .style-599 h1:hover,#colibri .style-599 h2:hover,#colibri .style-599 h3:hover,#colibri .style-599 h4:hover,#colibri .style-599 h5:hover,#colibri .style-599 h6:hover,
#colibri .style-600 a:hover,
#colibri .style-603:hover,#colibri .style-603:focus,
#colibri .style-616 a:hover,#colibri .style-616 .colibri-post-category:hover,
#colibri .style-617 h1:hover,#colibri .style-617 h2:hover,#colibri .style-617 h3:hover,#colibri .style-617 h4:hover,#colibri .style-617 h5:hover,#colibri .style-617 h6:hover,
#colibri .style-618 a:hover,
#colibri .style-621:hover,#colibri .style-621:focus { color: #b35c00; }
/* ---- end generated ---- */

/* Header: Donate button to the right of the logo (nav-home.php / nav-inner.php), styled like the site's buttons. */
#colibri .shp-nav-donate-outer { align-self: center; margin-left: 20px; }
#colibri .shp-nav-donate {
  display: inline-block; padding: 12px 24px; border: 2px solid #0277bd; border-radius: 5px; background: #0277bd; color: #fff;
  font-family: "Open Sans", sans-serif; font-weight: 600; font-size: 12px; line-height: 1; letter-spacing: 1px; text-transform: uppercase; text-decoration: none; white-space: nowrap;
}
#colibri .shp-nav-donate:hover, #colibri .shp-nav-donate:focus { background: #026e9f; border-color: #026e9f; color: #fff; }
@media (max-width: 767px) { #colibri .shp-nav-donate-outer { margin-left: 12px; } #colibri .shp-nav-donate { padding: 10px 16px; } }

/* Financial page: text version under each Form 990-N PDF. */
#colibri .shp-990-summary { margin: 6px 0 20px; font-size: 14px; line-height: 1.5; }

/* Mission trip page: "Back to Serve" is secondary to the blue Send Form button. */
#colibri .style-1537 { background-color: #5f6b76; border-color: #5f6b76; }
#colibri .style-1537:hover, #colibri .style-1537:focus { background-color: #48525b; border-color: #48525b; }

/* Serve page: hide the "Mission Team Member Form" card until that form exists. Delete this rule to show it again. */
#colibri .style-local-327-c43-outer { display: none !important; }

/* Give page: hide the "Build a Home" card until the Mission Center is finished. Delete this rule to show it again. */
#colibri .style-local-1331-c10-outer { display: none !important; }

/* Give page: the 16:9 Mission Center rendering matches the 4:3 photos beside it (trimmed evenly at the sides). */
#colibri .style-local-1331-c6-image { aspect-ratio: 4 / 3; width: 100%; height: auto; object-fit: cover; }

/* Donation form */
.shp-donate {
  --shp-primary: #1e8cbe;
  --shp-accent: #63cc8a;
  max-width: 640px; margin: 0 auto; padding: 32px; background: #fff; border-radius: 12px;
  box-shadow: 0 6px 30px rgba(0, 0, 0, .08); font-family: "Open Sans", Arial, sans-serif; color: #2d3740; text-align: left;
}
.shp-donate h3 { margin: 0 0 8px; font-size: 26px; line-height: 1.3; color: #1d2b36; }
.shp-donate p { margin: 0 0 12px; line-height: 1.6; }
.shp-donate__head { margin-bottom: 24px; text-align: center; }
.shp-donate__group { border: 0; padding: 0; margin: 0 0 22px; min-width: 0; }
.shp-donate__group legend { font-weight: 700; font-size: 16px; margin-bottom: 10px; padding: 0; }
.shp-donate__hint { font-weight: 400; color: #6b7883; font-size: 14px; }
.shp-donate__freq, .shp-donate__amounts { display: grid; gap: 10px; }
.shp-donate__freq { grid-template-columns: repeat(4, 1fr); }
.shp-donate__amounts { grid-template-columns: repeat(3, 1fr); }
.shp-donate__freq label, .shp-donate__amounts label { position: relative; margin: 0; cursor: pointer; }
.shp-donate__freq input, .shp-donate__amounts input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.shp-donate__freq span, .shp-donate__amounts span {
  display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 8px; border: 2px solid #d5dde3;
  border-radius: 8px; font-weight: 600; font-size: 16px; background: #fff; transition: border-color .15s, background .15s, color .15s; text-align: center;
}
.shp-donate__amounts span { font-size: 20px; }
.shp-donate__freq input:checked + span, .shp-donate__amounts input:checked + span { border-color: var(--shp-primary); background: var(--shp-primary); color: #fff; }
.shp-donate__freq input:focus-visible + span, .shp-donate__amounts input:focus-visible + span { outline: 3px solid var(--shp-accent); outline-offset: 2px; }
.shp-donate__custom { margin-top: 12px; }
.shp-donate__custom[hidden] { display: none; }
.shp-donate__custom label { display: block; font-weight: 600; margin-bottom: 6px; }
.shp-donate__money { display: flex; align-items: center; border: 2px solid #d5dde3; border-radius: 8px; overflow: hidden; }
.shp-donate__money span { padding: 0 12px; font-size: 20px; font-weight: 700; color: #6b7883; }
.shp-donate__money input { flex: 1; border: 0; padding: 12px 12px 12px 0; font-size: 20px; min-width: 0; outline: none; }
.shp-donate__money:focus-within { border-color: var(--shp-primary); }
.shp-donate__donor { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.shp-donate__donor label { display: block; font-weight: 600; font-size: 14px; margin: 0; }
.shp-donate__donor input { display: block; width: 100%; margin-top: 4px; padding: 11px 12px; border: 2px solid #d5dde3; border-radius: 8px; font: inherit; font-weight: 400; box-sizing: border-box; }
.shp-donate__donor input:focus { border-color: var(--shp-primary); outline: none; }
.shp-donate__wide { grid-column: 1 / -1; }
.shp-donate__summary { font-weight: 600; text-align: center; min-height: 1.6em; }
.shp-donate__error { padding: 12px 14px; border-radius: 8px; background: #fdecea; color: #7a1d14; margin-bottom: 14px; }
.shp-donate__error[hidden], .shp-donate__buttons[hidden], .shp-donate__processing[hidden] { display: none; }
.shp-donate__buttons { margin: 8px 0 12px; min-height: 50px; }
.shp-donate__processing { text-align: center; font-weight: 600; color: var(--shp-primary); }
.shp-donate__note { font-size: 13px; color: #6b7883; text-align: center; margin: 12px 0 0 !important; }
.shp-donate--result { text-align: center; }
.shp-donate--result h3 { color: var(--shp-primary); }
@media (max-width: 600px) {
  .shp-donate { padding: 20px 16px; border-radius: 0; box-shadow: none; }
  .shp-donate__freq { grid-template-columns: 1fr 1fr; }
  .shp-donate__amounts { grid-template-columns: 1fr 1fr; }
  .shp-donate__donor { grid-template-columns: 1fr; }
}
.shp-embed { width: 100%; }
