.audience-credit { display: block; font-size: 12px; line-height: 1.5; }
.brand-portal footer { flex-wrap: wrap; }
.brand-portal footer .audience-credit { flex-basis: 100%; }
.audience-settings { appearance: none; padding: 4px 0; background: transparent; color: inherit; border: 0; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
#givz-audience[hidden] { display: none; }
#givz-audience { position: fixed; z-index: 1000; inset: auto 16px max(16px, env(safe-area-inset-bottom)) 16px; width: auto; max-width: 960px; max-height: 70dvh; overflow: auto; margin: 0 auto; padding: 24px; display: flex; gap: 24px; align-items: center; box-sizing: border-box; border: 1px solid #d0d8c6; border-radius: 16px; background: #f5f7ef; color: #152d17; box-shadow: 0 8px 32px #152d1720; font: 14px/1.5 Arial, sans-serif; text-align: left; }
#givz-audience .audience-copy { flex: 1; min-width: 0; }
#givz-audience h2 { margin: 0 0 8px; font: 600 20px/1.2 Arial, sans-serif; letter-spacing: -.4px; color: inherit; text-transform: none; }
#givz-audience p { margin: 0 0 10px; max-width: none; color: inherit; font: inherit; }
#givz-audience-status:empty { display: none; }
#givz-audience summary { cursor: pointer; font-weight: 600; }
#givz-audience details p:first-of-type { margin-top: 12px; }
#givz-audience a { color: inherit; text-decoration: underline; }
#givz-audience .audience-actions { display: flex; gap: 8px; flex-shrink: 0; }
#givz-audience button { min-height: 44px; padding: 10px 18px; border: 1px solid #152d17; border-radius: 8px; background: #152d17; color: #f5f7ef; font: 600 14px/1.3 Arial, sans-serif; cursor: pointer; }
#givz-audience button:disabled { opacity: .5; cursor: not-allowed; }
#givz-audience :is(button, a, summary):focus-visible, .audience-settings:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (max-width: 640px) {
  #givz-audience { inset-inline: 12px; bottom: max(12px, env(safe-area-inset-bottom)); padding: 18px; gap: 16px; flex-direction: column; align-items: stretch; }
  #givz-audience .audience-actions > button { flex: 1; }
}

/* Override the older step-label display rule so the pictogram stays centered. */
.chapter-look .cx-app-map > li > .cx-icon { display: grid; place-items: center; }

/* The mobile absolute positions predate the padded v14 cards. */
@media (max-width: 900px) {
  .v7-steps > li { display: grid; grid-template-columns: 38px minmax(0, 1fr); column-gap: 16px; row-gap: 14px; }
  .v7-steps > li > span { position: static; grid-column: 2; grid-row: 1; justify-self: end; align-self: start; font-size: 11px; }
  .v7-steps > li > .ui-icon { position: static; grid-column: 1; grid-row: 1; width: 18px; height: 18px; margin: 0; }
  .v7-steps > li > h3 { grid-column: 2; grid-row: 1; align-self: center; margin: 0; padding-right: 24px; font-size: 24px; }
  .v7-steps > li > p { grid-column: 1 / -1; max-width: none; }
}
