/* WP Front Order Portal — application shell and WordPress theme isolation. */
body.wpfo-plugin-page {
  margin: 0 !important;
  min-height: 100vh;
  min-height: 100dvh;
  background: #05080b !important;
  color: #f7f9fc;
  overflow-x: hidden;
}
body.wpfo-plugin-page .wp-site-blocks,
body.wpfo-plugin-page .site,
body.wpfo-plugin-page #page,
body.wpfo-plugin-page .site-content,
body.wpfo-plugin-page .content-area,
body.wpfo-plugin-page .site-main,
body.wpfo-plugin-page main.wp-block-group,
body.wpfo-plugin-page .wp-block-post-content,
body.wpfo-plugin-page .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  box-sizing: border-box;
}
body.wpfo-plugin-page .wp-site-blocks > header,
body.wpfo-plugin-page .wp-site-blocks > footer,
body.wpfo-plugin-page header.wp-block-template-part,
body.wpfo-plugin-page footer.wp-block-template-part,
body.wpfo-plugin-page #masthead,
body.wpfo-plugin-page #colophon,
body.wpfo-plugin-page .site-header,
body.wpfo-plugin-page .site-footer,
body.wpfo-plugin-page .wp-block-post-title,
body.wpfo-plugin-page .entry-title,
body.wpfo-plugin-page .page-title {
  display: none !important;
}
body.wpfo-plugin-page .wp-block-post-content > *:not(.wpfo-app):not(.wpfo-modal),
body.wpfo-plugin-page .entry-content > *:not(.wpfo-app):not(.wpfo-modal) {
  max-width: none;
}
body.wpfo-plugin-page .wpfo-app.wpfo-page {
  position: relative;
  isolation: isolate;
  width: 100vw !important;
  max-width: none !important;
  min-height: 100vh;
  min-height: 100dvh;
  margin-top: 0 !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  border-radius: 0 !important;
  overflow-x: clip !important;
}
body.wpfo-plugin-page .wpfo-app,
body.wpfo-plugin-page .wpfo-app * {
  box-sizing: border-box;
}
body.wpfo-plugin-page .wpfo-page-main {
  width: min(820px, calc(100% - 40px));
  max-width: 100%;
  margin-inline: auto;
  padding: clamp(16px, 2.7vw, 28px) 0 calc(104px + env(safe-area-inset-bottom));
}
body.wpfo-plugin-page .wpfo-topbar {
  width: 100%;
  min-width: 0;
  padding-inline: clamp(14px, 2.8vw, 28px);
}
body.wpfo-plugin-page .wpfo-topbar a,
body.wpfo-plugin-page .wpfo-topbar button,
body.wpfo-plugin-page .wpfo-bottom-nav a {
  -webkit-tap-highlight-color: transparent;
}
body.wpfo-plugin-page button,
body.wpfo-plugin-page input,
body.wpfo-plugin-page select,
body.wpfo-plugin-page textarea {
  font: inherit;
}
body.wpfo-plugin-page img,
body.wpfo-plugin-page canvas,
body.wpfo-plugin-page video,
body.wpfo-plugin-page iframe {
  max-width: 100%;
}
body.wpfo-plugin-page .wpfo-btn {
  min-height: 44px;
  max-width: 100%;
  line-height: 1.25;
}
body.wpfo-plugin-page .wpfo-empty,
body.wpfo-plugin-page .wpfo-panel,
body.wpfo-plugin-page .wpfo-item-card,
body.wpfo-plugin-page .wpfo-payment-option,
body.wpfo-plugin-page .wpfo-auth-form {
  min-width: 0;
  overflow-wrap: anywhere;
}
body.wpfo-plugin-page .wpfo-form-message,
body.wpfo-plugin-page .wpfo-notice {
  overflow-wrap: anywhere;
}
