/**
 * 404 / not-found page — readable theme teal on dark background.
 */
.not-found-page .not-found-content {
  color: var(--teal, #008080) !important;
}

.not-found-page .not-found-inner h1 {
  color: var(--teal-mid, #00a3a3);
}

/* Pin footer to viewport bottom — no empty gap below footer on short 404 pages */
body.page-not-found {
  background: #2a2f34;
}

body.page-not-found .dialog-off-canvas-main-canvas,
body.page-not-found .page-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

body.page-not-found .page-wrapper > #page {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
}

body.page-not-found #page .layout-main-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

body.page-not-found #page .layout-main,
body.page-not-found #page .main-content,
body.page-not-found #page .main-content__container {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

body.page-not-found #page main[role="main"] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

body.page-not-found .not-found-wrapper,
body.page-not-found .error-404 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 0 !important;
  padding: 40px 20px 24px;
}

body.page-not-found .teal-footer-mockup {
  margin-top: auto;
  flex-shrink: 0;
}
