/* Shared site navigation. Content anchors clear the fixed mobile header. */
body main [id] { scroll-margin-top: calc(var(--pb-sticky-header-height, 118px) + 16px); }
.pb-header { position: sticky; top: 0; z-index: 1200; background: #fff; color: #222; border-bottom: 1px solid #dedede; font: 400 15px/1.4 Arial, sans-serif; }
html body.pb-white-ui .pb-header { box-shadow: none !important; }
html body.pb-white-ui .pb-header.is-scrolled { box-shadow: 0 2px 8px rgba(0,0,0,.05) !important; }
.pb-header *, .pb-header *::before, .pb-header *::after { box-sizing: border-box; letter-spacing: 0; }
.pb-header [hidden] { display: none !important; }
.admin-bar .pb-header { top: 32px; }
.pb-header a, .pb-header a:visited { color: inherit; text-decoration: none; }
.pb-header button, .pb-header input { font: inherit; letter-spacing: 0; }
.pb-header button { appearance: none; border: 0; background: #fff; color: inherit; cursor: pointer; padding: 0; }
.pb-header svg { flex: 0 0 20px; width: 20px; height: 20px; }
.pb-header a:focus-visible, .pb-header button:focus-visible { outline: 2px solid #cc0605; outline-offset: 3px; }
.pb-header a:hover, .pb-header button:hover { color: #b30505; }
.pb-header__top { display: grid; grid-template-columns: 128px minmax(220px, 1fr) 360px; align-items: center; gap: 24px; width: var(--pb-content-width); padding: 10px 0; margin: 0 auto; min-height: 94px; position: relative; z-index: 2; background: #fff; }
.pb-header__logo { display: block; width: 128px; }
.pb-header__logo img { display: block; width: 100%; height: auto; margin: 0; }
.pb-header__identity { min-width: 0; padding: 8px 8px 8px 22px; border-left: 1px solid #dedede; }
html body.pb-white-ui .pb-header__identity { border-radius: 0 !important; }
.pb-header__identity img { display: block; width: 100%; height: auto; margin: 0; }
.pb-header__search { display: flex; height: 46px; margin: 0; border: 1px solid #dedede; border-radius: 10px; background: #fff; min-width: 0; }
html body.pb-white-ui .pb-header .pb-header__search { border-width: 1px !important; box-shadow: 0 1px 1px rgba(222,222,222,.5), inset 0 1px 1px rgba(222,222,222,.5) !important; }
.pb-header__search:focus-within { outline: 1px solid #555; }
.pb-header__search input { width: 100%; min-width: 0; padding: 10px 14px; color: #202124; background: #fff; border: 0; border-radius: 10px 0 0 10px; font-size: 15px; box-shadow: none; }
.pb-header__search input:focus { outline: 0; }
.pb-header__search button { display: grid; place-items: center; width: 46px; flex: 0 0 46px; border-left: 1px solid #dedede; border-radius: 0 10px 10px 0; }
.pb-header__toggle, .pb-header__mobile-tools, .pb-header__mobile-contacts, .pb-header__secondary, .pb-header__spacer { display: none; }
.pb-header__drawer { position: relative; padding-bottom: 19px; background: #fff; z-index: 1; }
.pb-header__nav { width: var(--pb-content-width); margin: 0 auto; padding: 0; min-height: 58px; display: flex; align-items: center; justify-content: flex-start; gap: 20px; }
.pb-header__nav > a { display: flex; flex: 0 0 auto; align-items: center; column-gap: 7px; min-height: 48px; padding: 12px 0; font-size: 16px; line-height: 1.4; font-weight: 600; white-space: nowrap; }
html body.pb-white-ui .pb-header__nav > a:not(#wpadminbar):not(#wpadminbar *) {
  font-weight: 600 !important;
  text-shadow: 0 .5px .5px rgba(0,0,0,.07);
}
html body.pb-white-ui .pb-header__nav > a .pb-header__nav-label:not(#wpadminbar):not(#wpadminbar *) { font-weight: 600 !important; }
.pb-header .pb-header__nav-icon { display: block; flex: 0 0 22px; width: 22px; height: 22px; color: #737373; }
.pb-header__nav-label { display: block; }
.pb-header :is(.pb-header__nav,.pb-header__secondary) > a { text-transform: none; }
.pb-header :is(.pb-header__nav, .pb-header__secondary) > a { position: relative; text-decoration: none !important; }
.pb-header :is(.pb-header__nav, .pb-header__secondary) > a:is([data-current="true"], :hover, :focus-visible)::before,
.pb-header :is(.pb-header__nav, .pb-header__secondary) > a:is([data-current="true"], :hover, :focus-visible)::after { content: ""; position: absolute; left: 0; right: 0; height: 1px; border-top: 1px solid #cc0605; pointer-events: none; }
.pb-header :is(.pb-header__nav, .pb-header__secondary) > a:is([data-current="true"], :hover, :focus-visible)::before { top: 4px; }
.pb-header :is(.pb-header__nav, .pb-header__secondary) > a:is([data-current="true"], :hover, :focus-visible)::after { bottom: 4px; }
.pb-header__shade { position: fixed; inset: var(--pb-header-panel-top, 160px) 0 0; background: rgba(0,0,0,.32); z-index: 0; }
.pb-header__close-icon { display: none; }
.pb-site-footer--compact .pb-site-footer__inner { grid-template-columns: minmax(180px,.85fr) minmax(380px,1.7fr) minmax(160px,.75fr) minmax(210px,.9fr); gap: 32px; align-items: start; padding-block: 32px 28px; }
.pb-site-footer--compact .pb-site-footer__brand { grid-column: auto; max-width: 220px; }
.pb-site-footer--compact .pb-site-footer__brand .pb-logo { width: 150px; margin-bottom: 10px; }
.pb-site-footer--compact .pb-site-footer__brand p { font-size: 13px; line-height: 1.5; }
.pb-site-footer--compact .pb-site-footer__col { gap: 2px; align-items: flex-start; }
.pb-site-footer--compact .pb-site-footer__col h2 { font-size: 14px; line-height: 1.3; margin-bottom: 8px; }
.pb-site-footer--compact .pb-site-footer__col a { font-size: 14px; line-height: 1.45; padding-block: 3px; }
.pb-site-footer--compact .pb-site-footer__products { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 28px; row-gap: 2px; align-content: start; }
.pb-site-footer--compact .pb-site-footer__products h2 { grid-column: 1 / -1; }
.pb-site-footer--compact .pb-site-footer__bottom-inner { min-height: 46px; font-size: 12.5px; }
body.pb-white-ui .pb-site-footer.pb-site-footer--compact,
body.pb-white-ui .pb-site-footer.pb-site-footer--compact .pb-site-footer__main,
body.pb-white-ui .pb-site-footer.pb-site-footer--compact .pb-site-footer__bottom { border-radius: 0 !important; }
@media (min-width: 1121px) {
  .home .pb-home-intro .pb-search-bar, .home .pb-home-search-examples { display: none; }
}
@media (max-width: 1120px) {
  .pb-header__top { grid-template-columns: 110px minmax(180px,1fr) 76px; gap: 20px; min-height: 80px; padding: 8px 0; }
  .pb-header__logo { width: 110px; }
  .pb-header__identity { display: none; }
  .pb-site-footer--compact .pb-site-footer__inner { grid-template-columns: minmax(180px,.75fr) minmax(360px,1.5fr); gap: 28px 40px; padding-block: 30px 26px; }
  .pb-site-footer--compact .pb-site-footer__brand { max-width: 220px; }
}
/* Collapse before six links run out of room; keep the JS breakpoint in sync. */
@media (max-width: 1120px) {
  html { scrollbar-gutter: stable; }
  html.pb-js .pb-header__drawer { display: none; }
  .pb-header.is-enhanced { position: fixed; left: 0; right: 0; }
  .pb-header__spacer { display: block; }
  .pb-header.is-enhanced .pb-header__toggle { display: grid; place-items: center; width: 76px; height: 44px; font-size: 15px; font-weight: 700; white-space: nowrap; }
  html body.pb-white-ui .pb-header.is-enhanced .pb-header__toggle { box-sizing: border-box; border: 1px solid #cc0605 !important; box-shadow: 0 1px 1px rgba(204,6,5,.5), inset 0 1px 1px rgba(204,6,5,.5) !important; }
  .pb-header [data-nav-toggle]:focus-visible { outline: 1px solid #cc0605 !important; outline-offset: 2px; }
  .pb-header__toggle[aria-expanded="true"] .pb-header__menu-icon { display: none; }
  .pb-header__toggle[aria-expanded="true"] .pb-header__close-icon { display: block; }
  .pb-header.is-enhanced .pb-header__drawer { display: none; }
  .pb-header__drawer { padding: 8px max(16px,calc((100% - var(--pb-content-width))/2)) 24px; }
  .pb-header.is-enhanced[data-nav-open="true"] .pb-header__drawer { display: flex; flex-direction: column; position: fixed; top: var(--pb-header-panel-top,112px); left: 0; right: 0; width: 100%; max-height: calc(100dvh - var(--pb-header-panel-top,112px)); overflow-y: auto; overscroll-behavior: contain; }
  .pb-header__drawer > * { flex-shrink: 0; }
  .pb-header__mobile-tools { display: block; }
  .pb-header__search--mobile { display: none; }
  .pb-header__nav { display: flex; flex-direction: column; width: 100%; align-items: flex-start; gap: 0; }
  .pb-header__nav > a { width: fit-content; max-width: 100%; min-height: 54px; padding: 14px 0; white-space: normal; overflow-wrap: anywhere; }
  .pb-header__secondary { display: flex; flex-direction: column; align-items: flex-start; margin-top: 20px; }
  .pb-header__secondary a { display: block; min-height: 44px; padding: 10px 0; font-size: 15px; }
  .pb-header__mobile-contacts { display: flex; flex-wrap: wrap; gap: 0 24px; padding-top: 16px; font-size: 15px; }
  .pb-header__mobile-contacts a { min-height: 44px; padding: 10px 0; }
  .pb-header__mobile-contacts a:first-child { font-weight: 700; }
  html.pb-nav-locked { overflow: hidden; }
  body.pb-nav-locked { overflow: clip; }
}
@media (max-width: 782px) { .admin-bar .pb-header { top: 46px; } }
@media (max-width: 700px) {
  .pb-header__top { grid-template-columns: minmax(64px,1fr) 76px; gap: 12px; padding: 8px 0; min-height: 76px; }
  .pb-header__logo { width: 100px; }
  .pb-header__search--desktop { display: none; }
  .pb-header__search--mobile { display: flex; margin: 12px 0; }
  .pb-header__search input { font-size: 16px; padding: 10px; }
  .pb-site-footer--compact .pb-site-footer__inner { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 18px; padding-block: 28px; }
  .pb-site-footer--compact .pb-site-footer__brand { display: grid; grid-column: 1 / -1; grid-template-columns: 132px minmax(0,1fr); align-items: center; gap: 18px; max-width: none; }
  .pb-site-footer--compact .pb-site-footer__brand .pb-logo { width: 132px; margin-bottom: 0; }
  .pb-site-footer--compact .pb-site-footer__col h2 { margin-bottom: 4px; }
  .pb-site-footer--compact .pb-site-footer__col a { min-height: 44px; padding-block: 10px; }
  .pb-site-footer--compact .pb-site-footer__products { grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 18px; row-gap: 0; }
  .pb-site-footer--compact .pb-site-footer__bottom-inner { padding-block: 14px; }
}
@media (max-width: 600px) { .admin-bar #wpadminbar { position: fixed; } }
@media (max-width: 380px) {
  .pb-header__top { gap: 6px; }
  .pb-header__logo { width: 64px; }
}
@media (prefers-reduced-motion: no-preference) {
  html body.pb-white-ui .pb-header { transition: box-shadow .16s ease; }
  .pb-header a, .pb-header button { transition: color .12s ease; }
}
