/* Purge Pros shared navigation repair, 2026-09-23. Add after the immutable R2 theme. */
html:has(.pp-next.pp-r2.pp-site-header) { --pp-fixed-header-height: 83px; scroll-padding-top: calc(var(--pp-fixed-header-height) + 14px); }
/* GHL nests the header in a short custom-code wrapper. Reserve its space while
   fixing the header to the viewport, rather than making it sticky in that wrapper. */
div:has(> .pp-next.pp-r2.pp-site-header) { min-height: var(--pp-fixed-header-height, 83px); }
.pp-navigation-spacer { height: var(--pp-fixed-header-height, 83px); flex: none; pointer-events: none; }
.pp-next.pp-r2.pp-site-header { position: fixed; inset: 0 0 auto; width: 100%; z-index: 100; }
.pp-next.pp-r2.pp-site-header .pp-dropdown { max-height: calc(100vh - var(--pp-fixed-header-height, 83px) - 24px); max-height: calc(100dvh - var(--pp-fixed-header-height, 83px) - 24px); overflow-y: auto; overscroll-behavior: contain; }
@media (max-width: 860px) {
  html:has(.pp-next.pp-r2.pp-site-header) { --pp-fixed-header-height: 71px; }
  .pp-next.pp-r2.pp-site-header .pp-nav { max-height: calc(100vh - var(--pp-fixed-header-height, 71px) - 16px); max-height: calc(100dvh - var(--pp-fixed-header-height, 71px) - 16px); overflow-y: auto; overscroll-behavior: contain; }
  .pp-next.pp-r2.pp-site-header .pp-dropdown { max-height: none; overflow: visible; }
}
@media (max-width: 620px) {
  html:has(.pp-next.pp-r2.pp-site-header) { --pp-fixed-header-height: 65px; }
  .pp-next.pp-r2.pp-site-header .pp-header-row { min-height: 64px; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
  .pp-next.pp-r2.pp-site-header .pp-logo-link { width: min(120px, 100%); height: 48px; }
  .pp-next.pp-r2.pp-site-header .pp-logo { width: 100%; height: 48px; object-fit: contain; object-position: left center; }
  .pp-next.pp-r2.pp-site-header .pp-header-cta { display: inline-flex; order: 2; min-height: 42px; padding: 10px; gap: 6px; font-size: 12px; white-space: nowrap; border-radius: 11px; }
  .pp-next.pp-r2.pp-site-header .pp-header-cta .pp-inline-icon { width: 17px; height: 17px; flex-basis: 17px; }
  .pp-next.pp-r2.pp-site-header .pp-menu-toggle { order: 3; width: 42px; }
}
@media print {
  .pp-navigation-spacer { display: none; }
  div:has(> .pp-next.pp-r2.pp-site-header) { min-height: 0 !important; }
  html:has(.pp-next.pp-r2.pp-site-header) { scroll-padding-top: 0; }
}
