/**
 * Public marketing shell — sticky footer without extra blank band.
 *
 * Uses flex column on body with main { flex: 1 0 auto } (not footer margin-top: auto).
 * That grows <main> on short pages only; it does not reserve empty space below the footer.
 */
html {
  margin: 0;
  background-color: var(--bg-white, #ffffff);
}

html body.mg-public {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}

html body.mg-public > main.page-content {
  flex: 1 0 auto;
  width: 100%;
  min-width: 0;
  /*
   * institutional-foundation.css fades in .page-content from opacity: 0. On marketing pages
   * that animation can fail to paint to completion in some browsers, leaving the entire
   * <main> invisible while layout height remains → huge blank scroll above the footer.
   */
  animation: none !important;
  opacity: 1 !important;
}

html body.mg-public > footer.mg-footer,
html body.mg-public > footer.mg-footer-sovereign {
  flex-shrink: 0;
  margin-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Fixed cookie UI must not extend document height */
html body.mg-public > #mg-cookie-banner {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  margin: 0 !important;
  flex-shrink: 0;
}

html body.mg-public > #mg-cookie-banner[hidden] {
  display: none !important;
}

html body.mg-public > #mg-cookie-settings-modal {
  position: fixed !important;
  margin: 0 !important;
  flex-shrink: 0;
}

html body.mg-public > #mg-cookie-settings-modal[hidden] {
  display: none !important;
}
