html:has(body.linc-scroll-layout) {
  overflow: hidden;
  scrollbar-gutter: auto;
}

body.linc-scroll-layout {
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

body.admin-bar.linc-scroll-layout {
  height: calc(100dvh - var(--wp-admin--admin-bar--height, 32px));
}

.linc-scroll-layout #brx-header {
  flex: none;
  position: relative;
  top: 0;
  width: 100%;
  z-index: 300;
}

#linc-page-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  width: 100%;
}

#linc-page-scroll:focus-visible {
  outline: 2px solid var(--linc-primary);
  outline-offset: -2px;
}

.linc-scroll-layout:is(.no-scroll, :has(.pswp--open)) #linc-page-scroll {
  overflow: hidden;
}

.linc-scroll-layout .linc-header__top {
  height: var(--linc-top-height, auto);
  overflow: hidden;
  transition:
    height 200ms ease,
    visibility 200ms;
}

.linc-scroll-layout .linc-header__main-inner {
  transition: min-height 200ms ease;
}

.linc-scroll-layout .linc-header__logo img {
  transition: width 200ms ease;
}

.linc-scroll-layout .linc-header--compact .linc-header__top {
  border-bottom: 0;
  height: 0;
  visibility: hidden;
}

.linc-scroll-layout .linc-header--compact .linc-header__main-inner {
  min-height: 4.5rem;
}

.linc-scroll-layout .linc-header--compact .linc-header__logo img {
  width: min(8rem, 35.2vw);
}

@media (prefers-reduced-motion: reduce) {
  .linc-scroll-layout .linc-header__top,
  .linc-scroll-layout .linc-header__main-inner,
  .linc-scroll-layout .linc-header__logo img {
    transition: none;
  }
}

@media print {
  html:has(body.linc-scroll-layout),
  body.linc-scroll-layout,
  body.admin-bar.linc-scroll-layout,
  #linc-page-scroll {
    height: auto;
    overflow: visible;
  }
}
