/* Grovea managed mobile reflow v1.3.0 */

body.gch-mobile-layout-ready {
  max-inline-size: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.gch-mobile-layout-ready :where(*,*::before,*::after) {
  box-sizing: border-box;
}

body.gch-mobile-layout-ready :where(
  .gch-site-header,
  .gch-site-footer,
  .gch-home,
  .gch,
  .gch-information,
  .gch-contact,
  .gch-inspiration-guide,
  .gch-inspiration-overview,
  .gch-building-discovery,
  .gch-route-guidance,
  .gch-editorial-route-network,
  .gch-search-recovery,
  .gch-my-collections,
  .gch-explorer
) {
  min-inline-size: 0;
  max-inline-size: 100%;
}

body.gch-mobile-layout-ready :where(
  .gch-site-shell,
  .gch-shell,
  .gch-information__shell,
  .gch-contact__shell,
  .gch-building-discovery__shell,
  .gch-route-guidance__inner,
  .gch-editorial-route-network__inner,
  .gch-search-recovery__shell,
  .gch-my-collections__inner
) {
  min-inline-size: 0;
  max-inline-size: 100%;
}

body.gch-mobile-layout-ready :where(img,svg,video,canvas,iframe,embed,object,table,pre) {
  max-inline-size: 100%;
}

body.gch-mobile-layout-ready :where(input,select,textarea,button) {
  min-inline-size: 0;
  max-inline-size: 100%;
}

body.gch-mobile-layout-ready :where(pre,table) {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

body.gch-mobile-layout-ready :where(iframe,embed,object) {
  border: 0;
}

body.gch-mobile-layout-ready .gch-site-footer {
  padding-bottom: max(22px, env(safe-area-inset-bottom));
}

body.gch-mobile-layout-ready :where([id]) {
  scroll-margin-block-start: 118px;
}

body.gch-mobile-layout-ready :where(
  .gch-ribbon__inner,
  .gch-home-mosaic,
  .gch-local-nav__inner,
  .gch-information__local-nav-inner,
  .gch-inspiration-guide__filters,
  .gch-route-breadcrumb ol
) {
  max-inline-size: 100%;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 960px) {
  body.gch-mobile-layout-ready :where(
    .gch-home-hero__grid,
    .gch-home-platform__grid,
    .gch-home-studios__active,
    .gch-home-collections__heading,
    .gch-home-collections__layout,
    .gch-hero__grid,
    .gch-studio,
    .gch-information__hero-grid,
    .gch-program-heading,
    .gch-program-preparation,
    .gch-inspiration-guide__heading,
    .gch-inspiration-overview__heading,
    .gch-building-discovery__heading,
    .gch-building-discovery__related,
    .gch-route-guidance__header,
    .gch-editorial-route-network__header,
    .gch-explorer__heading,
    .gch-explorer__identity-heading,
    .gch-explorer__layout,
    .gch-studio-planning__heading,
    .gch-studio-planning__board,
    .gch-my-collections__heading
  ) {
    grid-template-columns: minmax(0,1fr) !important;
  }

  body.gch-mobile-layout-ready :where(
    .gch-home-category-grid,
    .gch-home-collections__grid,
    .gch-principles,
    .gch-blueprint-grid,
    .gch-category-grid,
    .gch-information__cards,
    .gch-information__steps,
    .gch-building-discovery__grid,
    .gch-route-guidance__grid,
    .gch-editorial-route-network__grid,
    .gch-inspiration-grid,
    .gch-my-collections__grid
  ) {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  body.gch-mobile-layout-ready .gch-site-nav {
    display: none !important;
  }

  body.gch-mobile-layout-ready .gch-site-mobile {
    display: block !important;
  }
}

@media (max-width: 720px) {
  body.gch-mobile-layout-ready :where(
    .gch-site-shell,
    .gch-shell,
    .gch-information__shell,
    .gch-contact__shell,
    .gch-building-discovery__shell,
    .gch-route-guidance__inner,
    .gch-editorial-route-network__inner,
    .gch-search-recovery__shell,
    .gch-my-collections__inner
  ) {
    inline-size: min(calc(100% - 28px),1180px) !important;
    margin-inline: auto !important;
  }

  body.gch-mobile-layout-ready :where(
    .gch-home-category-grid,
    .gch-home-collections__grid,
    .gch-home-studios__next,
    .gch-home-process ol,
    .gch-principles,
    .gch-blueprint-grid,
    .gch-category-grid,
    .gch-program-stages,
    .gch-program-status,
    .gch-information__cards,
    .gch-information__steps,
    .gch-information__collections,
    .gch-inspiration-grid,
    .gch-inspiration-overview__grid,
    .gch-building-discovery__grid,
    .gch-building-discovery__related ul,
    .gch-route-guidance__grid,
    .gch-editorial-route-network__grid,
    .gch-search-recovery__grid,
    .gch-search-recovery__routes,
    .gch-contact__grid,
    .gch-explorer__fields,
    .gch-explorer-options__grid,
    .gch-explorer__progress ol,
    .gch-studio-planning__metrics,
    .gch-studio-planning__canvas ol,
    .gch-my-collections__nav,
    .gch-my-collections__metrics,
    .gch-my-phasing__heading,
    .gch-my-phasing__overview,
    .gch-my-phasing__phase,
    .gch-my-phasing__categories,
    .gch-my-stage-gates__heading,
    .gch-my-stage-gates__grid,
    .gch-my-route__heading,
    .gch-my-route__lead,
    .gch-my-route__list,
    .gch-my-foundation__heading,
    .gch-my-foundation__metrics,
    .gch-my-foundation__matrix,
    .gch-my-coherence__heading,
    .gch-my-coherence__metrics,
    .gch-my-coherence__matrix,
    .gch-my-backup,
    .gch-my-dossier,
    .gch-my-backup__confirm,
    .gch-my-backup__restore-list,
    .gch-my-collections__grid
  ) {
    grid-template-columns: minmax(0,1fr) !important;
  }

  body.gch-mobile-layout-ready :where(
    .gch-actions,
    .gch-information__actions,
    .gch-contact__actions,
    .gch-explorer__navigation,
    .gch-my-phasing__footer,
    .gch-my-foundation__footer,
    .gch-my-coherence__footer,
    .gch-home-final > .gch-shell,
    .gch-final__inner
  ) {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body.gch-mobile-layout-ready :where(
    .gch-actions .gch-btn,
    .gch-information__button,
    .gch-contact__submit,
    .gch-explorer__navigation .gch-explorer-button,
    .gch-home-final .gch-btn,
    .gch-home-local .gch-btn,
    .gch-my-phasing__footer button,
    .gch-my-foundation__footer button,
    .gch-my-coherence__footer button,
    .gch-my-dossier button
  ) {
    inline-size: 100% !important;
    max-inline-size: none !important;
  }

  body.gch-mobile-layout-ready :where(
    .gch-home-category,
    .gch-home-category--buildings,
    .gch-home-collections__active,
    .gch-building-discovery__card,
    .gch-route-guidance__card,
    .gch-editorial-route-network__card,
    .gch-information__cards article,
    .gch-information__collections a,
    .gch-my-collection
  ) {
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
  }

  body.gch-mobile-layout-ready .gch-site-mobile nav {
    max-inline-size: calc(100vw - 28px) !important;
    max-block-size: calc(100vh - 104px) !important;
    max-block-size: calc(100dvh - 104px - env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding-bottom: max(10px,env(safe-area-inset-bottom)) !important;
    scrollbar-gutter: stable;
  }

  @supports (height: 100svh) {
    body.gch-mobile-layout-ready .gch-site-mobile nav {
      max-block-size: calc(100svh - 104px - env(safe-area-inset-bottom)) !important;
    }
  }

  body.gch-mobile-layout-ready :where(.gch-local-nav,.gch-information__local-nav,.gch-route-breadcrumb) {
    max-inline-size: 100vw;
  }
}

@media (max-width: 720px) and (pointer: coarse) {
  body.gch-mobile-layout-ready :where(a,button,input,select,textarea,summary) {
    touch-action: manipulation;
  }

  body.gch-mobile-layout-ready :where(button,input:not([type="checkbox"]):not([type="radio"]),select,textarea,summary) {
    min-block-size: 44px;
  }

  body.gch-mobile-layout-ready :where(input,select,textarea) {
    font-size: 16px;
  }
}

@media (max-width: 520px) {
  body.gch-mobile-layout-ready .gch-site-header__inner {
    gap: 10px !important;
  }

  body.gch-mobile-layout-ready .gch-site-brand {
    min-inline-size: 0;
    max-inline-size: calc(100% - 76px);
  }

  body.gch-mobile-layout-ready .gch-site-brand__copy {
    min-inline-size: 0;
  }

  body.gch-mobile-layout-ready .gch-site-brand__copy small {
    display: none !important;
  }

  body.gch-mobile-layout-ready .gch-site-mobile nav {
    position: fixed !important;
    inset-inline: max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right)) !important;
    inset-block-start: calc(68px + env(safe-area-inset-top)) !important;
    inline-size: auto !important;
    max-block-size: calc(100dvh - 84px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  body.admin-bar.gch-mobile-layout-ready .gch-site-mobile nav {
    inset-block-start: calc(114px + env(safe-area-inset-top)) !important;
    max-block-size: calc(100dvh - 130px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  body.gch-mobile-layout-ready .gch-home-mosaic__item {
    flex-basis: min(84%,300px) !important;
  }

  body.gch-mobile-layout-ready :where(
    .gch-my-route__filters,
    .gch-my-foundation__filters,
    .gch-my-coherence__filters,
    .gch-search-recovery__search
  ) {
    grid-template-columns: minmax(0,1fr) !important;
  }

  body.gch-mobile-layout-ready :where(
    .gch-my-route__filters button,
    .gch-my-foundation__filters button,
    .gch-my-coherence__filters button,
    .gch-search-recovery__search button
  ) {
    grid-column: auto !important;
    inline-size: 100% !important;
  }

  body.gch-mobile-layout-ready :where(.gch-contact__form,.gch-explorer__identity,.gch-explorer__steps,.gch-explorer__summary,.gch-my-phasing,.gch-my-route,.gch-my-foundation,.gch-my-coherence,.gch-my-backup,.gch-my-dossier) {
    padding-inline: 18px !important;
  }
}

@media (max-width: 960px) and (max-height: 640px) {
  body.gch-mobile-layout-ready .gch-site-mobile nav {
    position: fixed !important;
    inset-inline: max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right)) !important;
    inset-block-start: calc(68px + env(safe-area-inset-top)) !important;
    inline-size: auto !important;
    max-block-size: calc(100dvh - 84px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  body.admin-bar.gch-mobile-layout-ready .gch-site-mobile nav {
    inset-block-start: calc(114px + env(safe-area-inset-top)) !important;
    max-block-size: calc(100dvh - 130px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 390px) {
  body.gch-mobile-layout-ready :where(.gch-site-shell,.gch-shell,.gch-information__shell,.gch-contact__shell,.gch-search-recovery__shell,.gch-my-collections__inner) {
    inline-size: min(calc(100% - 24px),1180px) !important;
  }

  body.gch-mobile-layout-ready :where(.gch-site-brand__mark,.gch-home-visual__controls button) {
    flex: 0 0 auto;
  }
}

@media (max-width: 359px) {
  body.gch-mobile-layout-ready :where(.gch-site-shell,.gch-shell,.gch-information__shell,.gch-contact__shell,.gch-search-recovery__shell,.gch-my-collections__inner) {
    inline-size: min(calc(100% - 20px),1180px) !important;
  }

  body.gch-mobile-layout-ready :where(h1,h2,h3,p,a,button,label,summary,dt,dd) {
    overflow-wrap: anywhere;
  }

  body.gch-mobile-layout-ready :where(.gch-contact__form,.gch-explorer__identity,.gch-explorer__steps,.gch-explorer__summary,.gch-my-phasing,.gch-my-route,.gch-my-foundation,.gch-my-coherence,.gch-my-backup,.gch-my-dossier) {
    padding-inline: 14px !important;
  }
}

@media (max-width: 960px) and (max-height: 520px) and (orientation: landscape) {
  body.gch-mobile-layout-ready .gch-site-mobile nav {
    max-block-size: calc(100dvh - 80px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    overscroll-behavior-block: contain;
  }

  body.admin-bar.gch-mobile-layout-ready .gch-site-mobile nav {
    max-block-size: calc(100dvh - 126px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.gch-mobile-layout-ready :where(.gch-ribbon__inner,.gch-home-mosaic,.gch-local-nav__inner,.gch-information__local-nav-inner,.gch-inspiration-guide__filters,.gch-route-breadcrumb ol) {
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
  }
}
