/* Shared navigation system: all utility panels, controls and motion preferences. */
@layer pcba-navigation {
 :root { --nav-interaction-duration:300ms; }

  :root { --nav-panel-gutter:40px; --nav-panel-top:48px; --nav-panel-font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
  #clientCenterPanel, #siteSearch, #appleNavPanel {
    border:0!important;border-radius:0!important;box-shadow:none!important;
    background:#fff!important;color:#1d1d1f!important;
    font-family:var(--nav-panel-font)!important;text-align:left!important;
    box-sizing:border-box!important;
  }
  #clientCenterPanel *, #siteSearch *, #appleNavPanel * { box-sizing:border-box!important; }
  #clientCenterPanel .cc-inner, #siteSearch .site-search-content {
    width:100%!important;max-width:1024px!important;margin:0 auto!important;
    padding:32px var(--nav-panel-gutter) 48px!important;
    font-family:var(--nav-panel-font)!important;
  }
  #clientCenterPanel .cc-inner h2, #siteSearch #siteSearchInput {
    font-family:var(--nav-panel-font)!important;font-size:28px!important;
    line-height:1.25!important;font-weight:600!important;letter-spacing:-.025em!important;
    color:#1d1d1f!important;text-transform:none!important;
  }
  #clientCenterPanel .cc-inner h2 {margin:0 0 24px!important;padding:0!important;}
  #clientCenterPanel .cc-links {gap:0!important;margin:0!important;padding:0!important;}
  #clientCenterPanel .cc-links :is(a,button), #siteSearch .site-search-results a {
    display:flex!important;align-items:center!important;justify-content:flex-start!important;
    min-height:44px!important;padding:10px 0!important;margin:0!important;gap:12px!important;
    color:#1d1d1f!important;background:transparent!important;border:0!important;border-radius:0!important;
    box-shadow:none!important;text-decoration:none!important;font-family:var(--nav-panel-font)!important;
    text-align:left!important;line-height:1.4!important;
    transition:color var(--nav-interaction-duration,300ms) ease!important;
  }
  #clientCenterPanel .cc-links :is(strong,button strong), #siteSearch .site-search-results strong {
    font-family:var(--nav-panel-font)!important;font-size:17px!important;line-height:1.4!important;
    font-weight:600!important;letter-spacing:-.015em!important;
  }
  #clientCenterPanel .cc-links a>span, #clientCenterPanel .cc-links button>span {
    flex:0 0 16px!important;width:16px!important;font-size:18px!important;color:#86868b!important;
  }
  #clientCenterPanel .cc-free, #siteSearch .site-search-label {
    color:#6e6e73!important;font-family:var(--nav-panel-font)!important;
    font-size:12px!important;line-height:1.5!important;font-weight:400!important;letter-spacing:0!important;
  }
  #clientCenterPanel .cc-free {margin:24px 0 0!important;}
  #siteSearch .site-search-label {margin:28px 0 8px!important;padding:0!important;}
  #siteSearch .site-search-form {
    display:flex!important;align-items:center!important;gap:12px!important;
    background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    margin:0!important;padding:0!important;min-height:40px!important;
  }
  #siteSearch .site-search-form>svg {width:24px!important;height:24px!important;flex:0 0 24px!important;color:#86868b!important;}
  #siteSearch #siteSearchInput {width:100%!important;min-width:0!important;height:40px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}
  #siteSearch #siteSearchInput::placeholder {color:#6e6e73!important;opacity:1!important;}
  #siteSearch .site-search-results {list-style:none!important;padding:0!important;margin:0!important;}
  #siteSearch .site-search-clear[hidden] {display:none!important;}
  #siteSearch .site-search-clear {font-size:12px!important;padding:8px!important;background:transparent!important;color:#6e6e73!important;}
  #clientCenterClose, #siteSearch .site-search-close {
    position:fixed!important;top:0!important;right:0!important;left:auto!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important;
    margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
    background:transparent!important;box-shadow:none!important;color:#333336!important;
  }
  #clientCenterClose[hidden] {display:none!important;}
  #clientCenterClose svg, #siteSearch .site-search-close svg {width:18px!important;height:18px!important;}
  #siteSearch .site-search-top {height:48px!important;min-height:48px!important;padding:0!important;margin:0!important;background:#fff!important;}
  html.client-center-open #navbar, html.site-search-active #navbar,
  body.nav-open #navbar, html:has(#navLinks.active) #navbar, .site-unified-header.apple-nav-open #navbar {
    background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  #clientCenterPanel :is(a,button):hover, #siteSearch .site-search-results a:hover {color:#6e6e73!important;}
  #clientCenterPanel :is(a,button):focus-visible, #siteSearch :is(a,button):focus-visible,
  .site-unified-header #navbar :is(a,button):focus-visible, #clientCenterClose:focus-visible {
    outline:2px solid #b32424!important;outline-offset:2px!important;box-shadow:none!important;border-radius:4px!important;
  }
  #siteSearch #siteSearchInput:focus-visible {outline:0!important;box-shadow:none!important;}
  @media(max-width:1199px) {
    #clientCenterPanel {top:48px!important;left:0!important;width:100%!important;height:calc(100dvh - 48px)!important;min-height:0!important;max-height:calc(100dvh - 48px)!important;margin:0!important;padding:0!important;overflow-y:auto!important;}
    #siteSearch {top:var(--search-visible-top,0px)!important;left:0!important;width:100%!important;max-width:none!important;height:var(--search-visible-height,100dvh)!important;max-height:var(--search-visible-height,100dvh)!important;margin:0!important;padding:0!important;overflow:hidden!important;}
    #siteSearch .site-search-content {height:calc(100% - 48px)!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding-bottom:calc(48px + env(safe-area-inset-bottom,0px))!important;}
    #clientCenterPanel .cc-inner {padding-bottom:calc(48px + env(safe-area-inset-bottom,0px))!important;}
    .site-unified-header #navbar #navLinks {
      padding:32px var(--nav-panel-gutter) calc(48px + env(safe-area-inset-bottom,0px))!important;
      background:#fff!important;border-radius:0!important;box-shadow:none!important;
      font-family:var(--nav-panel-font)!important;
    }
    .site-unified-header #navbar #navLinks>li>a,
    .site-unified-header #navbar #navLinks>li>a.nav-cta {
      display:flex!important;align-items:center!important;justify-content:space-between!important;
      min-height:48px!important;height:auto!important;padding:8px 0!important;margin:0!important;
      font-family:var(--nav-panel-font)!important;font-size:28px!important;font-weight:600!important;
      line-height:1.15!important;letter-spacing:-.025em!important;text-align:left!important;
      color:#1d1d1f!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
      white-space:normal!important;text-decoration:none!important;
    }
    #clientCenterBackdrop {background:#fff!important;backdrop-filter:none!important;}
  }
  @media(min-width:1200px) {
    :root {--nav-panel-gutter:22px;--nav-panel-top:44px;}
    #clientCenterPanel {top:44px!important;left:0!important;width:100%!important;height:auto!important;min-height:344px!important;max-height:calc(100dvh - 44px)!important;overflow-y:auto!important;margin:0!important;padding:0!important;}
    #siteSearch {top:44px!important;left:0!important;width:100%!important;max-width:none!important;height:auto!important;min-height:344px!important;max-height:calc(100dvh - 44px)!important;overflow-y:auto!important;margin:0!important;padding:0!important;}
    #clientCenterPanel .cc-inner, #siteSearch .site-search-content {padding-top:40px!important;padding-bottom:48px!important;}
    #siteSearch .site-search-top {height:0!important;min-height:0!important;}
    #clientCenterClose, #siteSearch .site-search-close {top:52px!important;right:max(14px,calc((100vw - 1024px)/2 + 8px))!important;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;}
    #clientCenterBackdrop, #siteSearch::backdrop {background:rgba(0,0,0,.16)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;}
  }
  /* Reset every state, including the unfocused button created by Client Center. */
  .site-unified-header #navbar :is(#navAiQuote,#navSearch,#mobileToggle) {
    -webkit-appearance:none!important;appearance:none!important;
    position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;
    width:var(--nav-panel-top)!important;min-width:var(--nav-panel-top)!important;max-width:var(--nav-panel-top)!important;
    height:var(--nav-panel-top)!important;min-height:var(--nav-panel-top)!important;max-height:var(--nav-panel-top)!important;
    flex:0 0 var(--nav-panel-top)!important;padding:0!important;margin:0!important;
    border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
    color:#333336!important;cursor:pointer!important;transform:none!important;
  }
  .site-unified-header #navbar :is(#navAiQuote,#navSearch,#mobileToggle):focus,
  #clientCenterClose:focus,#siteSearch .site-search-close:focus {outline:none!important;}
  .site-unified-header #navbar :is(#navAiQuote,#navSearch,#mobileToggle):focus-visible::after {
    content:none!important;display:none!important;border:0!important;box-shadow:none!important;
  }
  .site-unified-header #navbar :is(#navAiQuote,#navSearch,#mobileToggle) svg {flex-shrink:0!important;}
  #clientCenterClose:focus-visible,#siteSearch .site-search-close:focus-visible {outline:2px solid #b32424!important;outline-offset:-8px!important;border-radius:6px!important;}
  @media(min-width:1200px) {
    .site-unified-header #navbar #mobileToggle {display:none!important;}
    html:is(.client-center-open,.site-search-active) .site-unified-header #navbar>.nav-container>*,
    html:is(.client-center-open,.site-search-active) .site-unified-header #navbar .logo * {visibility:visible!important;}
    html.client-center-open .site-unified-header #navbar>.nav-container>* {pointer-events:auto!important;}
    #siteSearch::backdrop {top:44px!important;}
    #siteSearch .site-search-top {position:static!important;}
    #siteSearch .site-search-close {position:absolute!important;top:8px!important;}
  }
  @media(max-width:360px) { :root {--nav-panel-gutter:28px;} }
  @media(prefers-reduced-motion:reduce) {
    #clientCenterPanel *, #siteSearch *, .site-unified-header #navLinks * {transition:none!important;animation:none!important;}
  }

  @media (min-width:1200px) {
    #clientCenterPanel .cc-inner, #siteSearch .site-search-content {
      padding-top:32px!important;
      padding-bottom:72px!important;
    }
    #clientCenterPanel .cc-inner h2, #siteSearch #siteSearchInput {
      font-size:24px!important;
      line-height:1.166667!important;
      letter-spacing:-.02em!important;
    }
    #siteSearch .site-search-label {
      margin:32px 0 8px!important;
      line-height:16px!important;
    }
    #siteSearch .site-search-results, #clientCenterPanel .cc-links {
      display:grid!important;
      gap:4px!important;
    }
    #siteSearch .site-search-results>li {
      margin:0!important;
      padding:0!important;
    }
    #clientCenterPanel .cc-links :is(a,button), #siteSearch .site-search-results a {
      min-height:24px!important;
      padding:4px 0!important;
      gap:8px!important;
      font-size:12px!important;
      line-height:16px!important;
    }
    #clientCenterPanel .cc-links :is(strong,button strong), #siteSearch .site-search-results strong {
      font-size:12px!important;
      line-height:16px!important;
      letter-spacing:0!important;
    }
    #clientCenterPanel .cc-links a>span, #clientCenterPanel .cc-links button>span,
    #siteSearch .site-search-results .site-search-icon {
      width:12px!important;
      height:12px!important;
      flex:0 0 12px!important;
      font-size:14px!important;
    }
  }

 /* The close control is outside its panel in the shared controller. */
 #clientCenterClose { z-index:10001!important; }
 .site-unified-header #navbar :is(#navAiQuote,#navSearch,#mobileToggle) {
   transition:color var(--nav-interaction-duration,300ms) ease!important;
 }
 @media(min-width:1200px) {
  .site-unified-header #navbar #navLinks .nav-cta {background:#b32424!important;border-color:#b32424!important;color:#fff!important;}
  .site-unified-header #navbar #navLinks .nav-cta:hover {background:#922020!important;border-color:#922020!important;}
 }
 @media(prefers-reduced-motion:reduce) {
   :root { --nav-interaction-duration:0ms; }
   html:root #siteSearch, html:root #siteSearch *,
   html:root #clientCenterPanel, html:root #clientCenterPanel *,
   html:root #clientCenterClose, html:root #clientCenterClose *,
   html:root .site-unified-header #navbar #navLinks *,
   html:root .site-unified-header #navbar :is(#navAiQuote,#navSearch,#mobileToggle),
   html:root .site-unified-header #navbar :is(#navAiQuote,#navSearch,#mobileToggle) * {
     transition:none!important;animation:none!important;scroll-behavior:auto!important;
   }
 }
}
