/* The first viewport belongs to the page. Footers remain in normal scroll flow. */
body > main#main {
  min-height: calc(100vh - var(--page-header-height, 0px) - var(--page-beta-height, 0px));
  min-height: calc(100dvh - var(--page-header-height, 0px) - var(--page-beta-height, 0px));
}

.page-beta{padding-block:26px 8px}
.header-beta{white-space:nowrap}
.queue-header .queue-language{margin-left:auto}
.page-beta:has(+ main .identity-pending:not([hidden])),
.page-beta:has(+ main [data-condition-loading]:not([hidden])),
.page-beta:has(+ main [data-shipping-loading]:not([hidden])),
.page-beta:has(+ main .account-loading){display:none}
.page-beta .beta-note{margin:0}
.page-beta--identify{max-width:1060px}.page-beta--market{max-width:1000px}
.page-beta--condition{max-width:640px}.page-beta--shipping{max-width:620px}
.page-beta--pricecharting{max-width:690px}.page-beta--account{max-width:560px;width:calc(100% - 40px)}
.page-beta+main#main{padding-top:18px}
.page-beta+.account-main{margin-top:12px;padding-top:0!important}
body.is-market-ready .page-beta--market{max-width:570px;width:calc(100% - 48px)}
body.is-market-ready .page-beta+.market-page{padding-top:0}

body > main#main:has(> .identity-pending:not([hidden])) {
  display: flex;
  flex-direction: column;
}
body > main#main:has(> .identity-pending:not([hidden])) > .identity-back {
  align-self: flex-start;
}
body > main#main > .identity-pending {
  flex: 1;
  width: 100%;
  min-height: 0;
  padding-block: 28px;
}

/* The offer journey used to remove the footer entirely. Keep it scrollable. */
body.is-market-ready > .site-footer { display: block; }

.queue-stage {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}
