/* Site behaviour styles added by the PHP build. */

/* ------------------------------------------------ sticky site header
   The header section sticks to the top of the viewport while scrolling.
   It keeps its own background so content doesn't show through. */
#section-8_ef4CiDWu {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: var(--brandboards-white, #fff);
  transition: box-shadow .25s ease;
}

/* A shadow appears only once the page has actually scrolled. */
html.nav-scrolled #section-8_ef4CiDWu {
  box-shadow: 0 2px 14px rgba(0, 0, 0, .12);
}

/* Sticky needs non-clipping ancestors. */
#preview-container,
#preview-container > div,
body {
  overflow: visible;
}

/* Submenus must sit above page content while the header is sticky. */
#nav-menu-v2-gowLgZipCD .submenu,
#nav-menu-v2-gowLgZipCD .mega-menu,
#nav-menu-v2-gowLgZipCD .submenu-builder {
  z-index: 1001;
}

/* On small screens the open menu panel should scroll with its own overflow. */
@media (max-width: 1024px) {
  #nav-menu-v2-gowLgZipCD .nav-menu-desktop:not(.hide-popup) {
    max-height: calc(100vh - 80px);
    overflow-y: auto;
  }
}

/* ------------------------------------------------ entrance animations
   GHL hid these with inline opacity:0 and revealed them from its hydration
   JS. That inline style is stripped at build time so the content is always
   visible; site.js replays the animation when an element scrolls into view. */
@media (prefers-reduced-motion: reduce) {
  [data-animation-class].animate__animated {
    animation: none !important;
  }
}

/* Anchors that replaced action-driven <button> elements should still read as
   buttons (the .cbutton-* rules supply colour, padding and radius). */
a[class*="cbutton-"] {
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
}
