
/* BGP global accessibility + mobile readability correction — 2026-08-29 */
html, body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  min-height: 100%;
}
body {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Keep small supporting text comfortably readable on phones. */
@media (max-width: 760px) {
  .eyebrow,
  .section-label,
  .footer-label,
  .footer-address span,
  .footer-bottom,
  .footer-contact,
  .footer-contact a,
  .standard-page-hero > p:last-child,
  .compact-hero-copy > p:not(.eyebrow),
  .home-intro p,
  .home-help p,
  .home-give p,
  .give-intro p,
  .give-contact p,
  .contact-grid p,
  .contact-actions p,
  .footer-brand p {
    font-size: 0.92rem !important;
    line-height: 1.6 !important;
  }

  .main-nav a,
  .updates-menu summary {
    font-size: 0.78rem !important;
  }

  .get-food-button,
  .give-button,
  .volunteer-button,
  .button {
    font-size: 0.72rem !important;
  }

  .footer-bottom {
    font-size: 0.72rem !important;
  }
}

/* User-controlled text-size mode. */
html.bgp-text-large {
  font-size: 112.5%;
}
html.bgp-text-xlarge {
  font-size: 125%;
}
html.bgp-text-large .main-nav a,
html.bgp-text-large .updates-menu summary,
html.bgp-text-xlarge .main-nav a,
html.bgp-text-xlarge .updates-menu summary {
  font-size: 0.9rem !important;
}
html.bgp-text-large .eyebrow,
html.bgp-text-large .section-label,
html.bgp-text-large .footer-label,
html.bgp-text-large .footer-bottom,
html.bgp-text-large .footer-contact,
html.bgp-text-large .footer-address span,
html.bgp-text-xlarge .eyebrow,
html.bgp-text-xlarge .section-label,
html.bgp-text-xlarge .footer-label,
html.bgp-text-xlarge .footer-bottom,
html.bgp-text-xlarge .footer-contact,
html.bgp-text-xlarge .footer-address span {
  font-size: 0.8rem !important;
}

.bgp-text-size-control {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 10050;
  border: 2px solid #184f2e;
  border-radius: 999px;
  background: #fffdf7;
  color: #184f2e;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  padding: 10px 14px;
  min-height: 44px;
  font: 800 0.78rem/1 Arial, Helvetica, sans-serif;
  cursor: pointer;
}
.bgp-text-size-control:hover {
  background: #eef5eb;
}
.bgp-text-size-control:focus-visible {
  outline: 3px solid #65bf36;
  outline-offset: 3px;
}
.bgp-footer-contact-link {
  display: inline-block;
  margin-top: .15rem;
  font-weight: 800;
}

/* Give payment options are global so they remain styled after app hydration
   and when the exported page is reached through a .html URL. */
.donation-options {
  padding: 64px max(20px, 5vw);
  background: #f7f5ed;
}
.donation-options .section-heading {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 32px;
}
.donation-options .eyebrow {
  letter-spacing: .12em;
  font-weight: 700;
  color: #4f8a55;
  margin-bottom: 8px;
}
.donation-options .section-heading h2,
.donation-card h3 {
  color: #285f38;
}
.donation-options .section-heading h2 {
  margin: .2em 0;
}
.donation-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  max-width: 1180px;
  margin: 0 auto;
}
.donation-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e4e6dc;
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 8px 24px rgba(34,73,42,.07);
}
.donation-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e9f3df;
  color: #285f38;
  font-weight: 800;
  font-size: 22px;
  margin-bottom: 18px;
}
.donation-card h3 { margin: 0 0 10px; }
.donation-card p { line-height: 1.6; margin: 0 0 18px; }
.mailing-address {
  background: #f7f5ed;
  border-radius: 12px;
  padding: 14px 16px;
  line-height: 1.65;
}
.mailing-address span { font-size: .9rem; font-weight: 700; color: #666; }
.donation-button { margin-top: auto; }
.donation-coming-soon {
  display: inline-block;
  align-self: flex-start;
  background: #f4d35e;
  color: #4a4218;
  border-radius: 999px;
  padding: 8px 13px;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .06em;
}
@media (max-width: 1050px) {
  .donation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .donation-grid { grid-template-columns: 1fr; }
  .donation-options { padding: 48px 20px; }
}
@media (max-width: 560px) {
  .bgp-text-size-control {
    right: 12px;
    bottom: 12px;
    padding: 9px 12px;
    font-size: 0.72rem;
  }
}
