.zbf {
  background: #400d66;
  color: #fff;
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 500;
  line-height: 1.5;
  width: 100%;
  container-type: inline-size;
}
.zbf, .zbf * { box-sizing: border-box; }
.zbf .zbf__inner {
  width: 80%; max-width: 1280px; margin: 0 auto; padding: 6px 0;
  display: grid; grid-template-columns: minmax(100px,1fr) minmax(160px,1.25fr) auto auto auto auto;
  align-items: center; gap: 16px 24px;
}
.zbf .zbf__inner > * { min-width: 0; margin: 0; }
.zbf .zbf__logo { display: block; width: 100%; max-width: 190px; height: auto; }
.zbf .zbf__credits { font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.zbf .zbf__credits p { color: #fff; margin: 0; padding: 0; }
.zbf .zbf__credits p + p { margin-top: 3px; }
.zbf a { color: #2ea3f2; text-decoration: none; }
.zbf .zbf__credits a:hover { text-decoration: underline; }
.zbf .zbf__button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 50px; padding: 6px 20px; border: 2px solid #2ea3f2;
  border-radius: 3px; font: inherit; font-size: 20px; line-height: 1.7;
  color: #2ea3f2; text-align: center; overflow-wrap: anywhere;
}
.zbf .zbf__button:hover { background: rgba(255,255,255,.08); }
.zbf .zbf__social { display: flex; align-items: center; justify-content: center; gap: 8px; }
.zbf .zbf__social-link { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 3px; color: #fff; }
.zbf .zbf__linkedin { background: #007bb6; }
.zbf .zbf__instagram { background: #ea2c59; }
.zbf .zbf__social-link svg { display: block; width: 22px; height: 22px; }
.zbf .zbf__donate { display: flex; align-items: center; justify-content: center; min-height: 44px; min-width: 100px; }
.zbf .zbf__donate img { display: block; width: 98px; height: 26px; max-width: 100%; }
.zbf a:focus-visible { outline: 3px solid #ffe777; outline-offset: 4px; }
@media (max-width: 1100px) {
  .zbf .zbf__inner { width: calc(100% - 40px); grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px 20px; padding: 10px 0; }
  .zbf .zbf__brand { display: flex; justify-content: center; }
  .zbf .zbf__credits { font-size: 13px; }
}
@container (max-width: 1100px) {
  .zbf .zbf__inner { width: calc(100% - 40px); grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px 20px; padding: 10px 0; }
  .zbf .zbf__brand { display: flex; justify-content: center; }
  .zbf .zbf__credits { font-size: 13px; }
}
@media (max-width: 600px) {
  .zbf .zbf__inner { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 16px; }
  .zbf .zbf__brand, .zbf .zbf__credits { grid-column: 1 / -1; text-align: center; }
  .zbf .zbf__logo { max-width: 240px; }
  .zbf .zbf__credits { font-size: 14px; }
  .zbf .zbf__button { font-size: 17px; padding: 6px 10px; }
}
@container (max-width: 600px) {
  .zbf .zbf__inner { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 16px; }
  .zbf .zbf__brand, .zbf .zbf__credits { grid-column: 1 / -1; text-align: center; }
  .zbf .zbf__logo { max-width: 240px; }
  .zbf .zbf__credits { font-size: 14px; }
  .zbf .zbf__button { font-size: 17px; padding: 6px 10px; }
}
@media (max-width: 300px) { .zbf .zbf__inner { grid-template-columns: minmax(0,1fr); } }
@container (max-width: 300px) { .zbf .zbf__inner { grid-template-columns: minmax(0,1fr); } }

/* Only the Divi footer wrappers containing this shortcode are adjusted. */
footer.et-l--footer .et_pb_section:has(.zbf),
footer.et-l--footer .et_pb_row:has(.zbf),
footer.et-l--footer .et_pb_column:has(.zbf),
footer.et-l--footer .et_pb_module:has(.zbf) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
footer.et-l--footer .et_pb_row:has(.zbf) {
  width: 100% !important;
  max-width: none !important;
}
footer.et-l--footer .et_pb_text_inner:has(> .zbf) > p:empty {
  display: none;
}
