/* Version 2: native sticky positioning. Never detach, wrap, or clone the menu/search. */
:root { --isopaint-sticky-admin-offset: 0px; --isopaint-sticky-menu-height: 0px; }
/* JS applies this to the existing menu's containing header, or the nav itself. */
body.isopaint-sticky-ready .isopaint-sticky-menu-anchor {
    position: sticky !important;
    top: var(--isopaint-sticky-admin-offset) !important;
    z-index: 9950 !important;
}
/* Live-search plugin inserts this as a sibling after GeneratePress header. */
body.isopaint-sticky-ready .isopaint-lps.isopaint-sticky-search-anchor {
    position: sticky !important;
    top: calc(var(--isopaint-sticky-admin-offset) + var(--isopaint-sticky-menu-height)) !important;
    z-index: 9949 !important;
}
/* Keep search suggestions visible; don't alter the live search's layout. */
body.isopaint-sticky-ready .isopaint-lps .isopaint-lps-results { z-index: 999 !important; }
/* Keyboard anchors and hash navigation should not end up hidden behind sticky UI. */
html:has(body.isopaint-sticky-ready) { scroll-padding-top: calc(var(--isopaint-sticky-admin-offset) + var(--isopaint-sticky-menu-height) + 110px); }

/* v2.1: compact the ORIGINAL sticky elements; never relocate or clone them.
   Applied only after scrolling; the menu and search stay in their normal DOM order. */
@media (min-width: 769px) {
  body.isopaint-sticky-ready.isopaint-sticky-compact .isopaint-sticky-menu-anchor.site-header .inside-header {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  body.isopaint-sticky-ready.isopaint-sticky-compact .isopaint-sticky-menu-anchor.site-header .site-logo img,
  body.isopaint-sticky-ready.isopaint-sticky-compact .isopaint-sticky-menu-anchor.site-header .custom-logo {
    max-height: 34px !important;
    width: auto;
  }
  body.isopaint-sticky-ready.isopaint-sticky-compact .isopaint-sticky-menu-anchor .main-navigation .main-nav ul li a,
  body.isopaint-sticky-ready.isopaint-sticky-compact .isopaint-sticky-menu-anchor.main-navigation .main-nav ul li a {
    line-height: 36px;
  }
}
body.isopaint-sticky-ready.isopaint-sticky-compact .isopaint-lps.isopaint-sticky-search-anchor {
  padding-top: 4px;
  padding-bottom: 4px;
}
body.isopaint-sticky-ready.isopaint-sticky-compact .isopaint-lps.isopaint-sticky-search-anchor .isopaint-lps-field {
  height: 36px;
  padding-left: 12px;
  padding-right: 12px;
  gap: 9px;
}
body.isopaint-sticky-ready.isopaint-sticky-compact .isopaint-lps.isopaint-sticky-search-anchor .isopaint-lps-search-icon {
  width: 18px;
  height: 18px;
}
body.isopaint-sticky-ready.isopaint-sticky-compact .isopaint-lps.isopaint-sticky-search-anchor input[type=search] {
  font-size: 14px;
}
/* Don't force desktop navigation heights on the mobile menu. */
@media (max-width: 768px) {
  body.isopaint-sticky-ready.isopaint-sticky-compact .isopaint-lps.isopaint-sticky-search-anchor {
    padding-top: 6px;
    padding-bottom: 6px;
  }
  body.isopaint-sticky-ready.isopaint-sticky-compact .isopaint-lps.isopaint-sticky-search-anchor .isopaint-lps-field {
    height: 44px;
  }
}


/* v2.2: smoothly fold/unfold the same existing header and search components.
   Transition only dimensions/padding, not sticky positioning or transform;
   this preserves dropdown alignment and the live-search suggestion layer. */
@media (prefers-reduced-motion: no-preference) {
  body.isopaint-sticky-ready .isopaint-sticky-menu-anchor.site-header .inside-header {
    transition: padding-top 280ms cubic-bezier(.22,1,.36,1),
                padding-bottom 280ms cubic-bezier(.22,1,.36,1) !important;
  }
  body.isopaint-sticky-ready .isopaint-sticky-menu-anchor.site-header .site-logo img,
  body.isopaint-sticky-ready .isopaint-sticky-menu-anchor.site-header .custom-logo {
    transition: max-height 280ms cubic-bezier(.22,1,.36,1) !important;
  }
  body.isopaint-sticky-ready .isopaint-sticky-menu-anchor .main-navigation .main-nav ul li a,
  body.isopaint-sticky-ready .isopaint-sticky-menu-anchor.main-navigation .main-nav ul li a {
    transition: line-height 280ms cubic-bezier(.22,1,.36,1) !important;
  }
  body.isopaint-sticky-ready .isopaint-lps.isopaint-sticky-search-anchor {
    transition: padding-top 280ms cubic-bezier(.22,1,.36,1),
                padding-bottom 280ms cubic-bezier(.22,1,.36,1) !important;
  }
  body.isopaint-sticky-ready .isopaint-lps.isopaint-sticky-search-anchor .isopaint-lps-field {
    transition: height 280ms cubic-bezier(.22,1,.36,1),
                padding-left 280ms cubic-bezier(.22,1,.36,1),
                padding-right 280ms cubic-bezier(.22,1,.36,1),
                gap 280ms cubic-bezier(.22,1,.36,1) !important;
  }
  body.isopaint-sticky-ready .isopaint-lps.isopaint-sticky-search-anchor .isopaint-lps-search-icon {
    transition: width 280ms cubic-bezier(.22,1,.36,1),
                height 280ms cubic-bezier(.22,1,.36,1) !important;
  }
  body.isopaint-sticky-ready .isopaint-lps.isopaint-sticky-search-anchor input[type=search] {
    transition: font-size 280ms cubic-bezier(.22,1,.36,1) !important;
  }
}

/* v2.3.0: tighter desktop compact mode; sticky anchors and scroll hysteresis unchanged. */
