/* The campaign closes above; the footer is only the HDF signature. */
.site-footer.campaign-footer {
  display: block;
  padding: 28px max(var(--pad), env(safe-area-inset-right, 0px)) calc(28px + env(safe-area-inset-bottom, 0px)) max(var(--pad), env(safe-area-inset-left, 0px));
  border-top: 1px solid var(--campaign-rule-light);
  background: var(--campaign-ivory);
  color: var(--campaign-charcoal);
}
.site-footer.campaign-footer > .footer-inner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0;
}
.site-footer.campaign-footer .footer-logo {
  display: block;
  flex: 0 0 auto;
  width: 132px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
@media (max-width: 700px) {
  .site-footer.campaign-footer {
    padding-top: 24px;
    /* Centered logo sits above the existing 46px floating sound control. */
    padding-bottom: calc(74px + env(safe-area-inset-bottom, 0px));
  }
  .site-footer.campaign-footer > .footer-inner { justify-content: center; }
  .site-footer.campaign-footer .footer-logo { width: 120px; }
  /* During footer entry the control may cross the logo's vertical position.
     Its existing accessible icon keeps a full touch target and a clear gutter. */
  .footer-in-view .journey-controls button {
    width: 44px;
    min-width: 44px;
    padding: 10px;
    gap: 0;
    justify-content: center;
  }
  .footer-in-view .journey-controls button > span { display: none; }
}
@media print {
  .site-footer.campaign-footer { padding-bottom: 28px; }
}
