/* Каркас как /constructor: фикс. шапка сайта, iframe на весь остаток экрана, без прокрутки страницы */
html.page-tee-constructor-root,
body.page-tee-constructor {
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden !important;
}

body.page-tee-constructor {
  --tee-constructor-top: calc(env(safe-area-inset-top, 0px) + var(--header-height, 56px));
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0 !important;
  background: #f6f7fb;
}

body.page-tee-constructor > .site-chrome--footer {
  display: none !important;
}

body.page-tee-constructor > .site-chrome--header,
body.page-tee-constructor .site-chrome--header {
  position: fixed !important;
  top: 0 !important;
  left: 0;
  right: 0;
  z-index: 10260;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  background: var(--card, #fff);
  box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06));
  align-self: auto !important;
}

body.page-tee-constructor .site-chrome--header .header {
  height: auto !important;
  max-height: none;
  min-height: calc(var(--header-height) + env(safe-area-inset-top, 0px));
  padding: env(safe-area-inset-top, 0) 16px 0 !important;
  gap: 0 !important;
  overflow: visible;
  position: relative;
  top: auto;
  border-bottom: none !important;
  box-shadow: var(--shadow-sm) !important;
}

body.page-tee-constructor #mob-scroll-top {
  display: none !important;
}

body.page-tee-constructor .tee-constructor-shell {
  position: fixed;
  top: var(--tee-constructor-top);
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
  z-index: 1;
}

.tee-constructor-frame-wrap {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.tee-constructor-frame {
  display: block;
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  border: 0;
  background: #f6f7fb;
  overflow: hidden;
}

.tee-constructor-frame-wrap.is-loading .tee-constructor-frame {
  opacity: 0;
}

.tee-constructor-frame-loader {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #6b7280;
  font-size: 0.95rem;
  background: linear-gradient(180deg, #f8fafc 0%, #f3f4f6 100%);
  z-index: 2;
}

.tee-constructor-frame-wrap:not(.is-loading) .tee-constructor-frame-loader {
  display: none;
}
