/* Home's normal header follows the supplied desktop reference.
   Sticky dimensions remain in the shared shell stylesheet. */
@media (min-width: 1200px) {
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-topbar { width: min(calc(100% - 30px), 1440px); height: 79px; margin: 0 auto; padding: 0 24px; font-size: 14px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-topbar::after { content: ''; position: absolute; top: 78px; left: 0; right: 0; height: 1px; background: #ebebeb; pointer-events: none; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-topbar p { width: 509px; flex: 0 0 509px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-top-contact { margin-left: 0; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-top-contact a { margin: 0; color: #777; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-top-contact a + a::before { content: ''; width: 1px; height: 14px; margin: 0 24px; background: #ddd; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-round-icon { flex: 0 0 32px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-language { position: relative; flex: 0 0 auto; margin-left: 56px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-language::before { content: ''; position: absolute; left: -33px; width: 1px; height: 22px; background: #ebebeb; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-header-main { width: 100%; height: 105px; margin: 0; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-logo { width: clamp(160px, 13.18vw, 260px); flex-basis: clamp(160px, 13.18vw, 260px); padding: 10px 15px; justify-content: center; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-logo img { width: 160px; height: 80px; object-fit: contain; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .pxl-header-nav { width: auto; flex: 1 1 0%; min-width: 0; padding-left: clamp(30px, 3.9vw, 75px); }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .pxl-menu-primary { width: 100%; padding-right: clamp(24px, calc((100vw - 1500px) * .3), 124px); justify-content: space-between; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .pxl-menu-primary > li { margin: 0; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .pxl-menu-primary > li > :is(a, .shell-navigation-trigger) { height: 105px; line-height: 105px; font-size: 16px; font-weight: 400; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-phone { width: clamp(250px, calc(100vw - 1299px), 302px); height: auto; flex: 0 0 clamp(250px, calc(100vw - 1299px), 302px); align-self: stretch; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-phone span { width: auto; flex: 0 0 auto; margin-left: 16px; font-size: 14px; white-space: nowrap; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-phone a { font-size: 20px; line-height: 30px; white-space: nowrap; word-break: normal; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-search { width: 55px; height: 55px; flex: 0 0 55px; margin: 0 clamp(20px, 2.1vw, 40px) 0 0; border: 1px solid #ebebeb; color: #000; font-size: 21px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-search i { color: inherit; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-consult { width: clamp(220px, 13.65vw, 262px); height: 95px; flex: 0 0 clamp(220px, 13.65vw, 262px); align-self: center; padding: 0 24px; justify-content: center; gap: 16px; border-radius: 0; background: #5230da; box-shadow: none; font-size: 16px; font-weight: 500; line-height: 20px; white-space: nowrap; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-consult-label { flex: 0 1 auto; max-width: none; text-align: left; overflow: visible; text-overflow: clip; line-height: 20px; word-break: normal; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-consult i { width: auto; height: auto; flex: 0 0 auto; border-radius: 0; background: transparent; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-consult:hover { transform: none; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-dropdown { top: 100%; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-megamenu { top: var(--shell-menu-top, 184px); max-height: calc(100vh - var(--shell-menu-top, 184px)); }
}

/* The homepage uses the original Elementor header rather than the shared shell.
   Restore theme navigation rules overridden by the shared React navigation. */
body.home .xs_social_share_widget.wslu-none { display: none; }
/* Elementor's fontawesome.min.css includes this updated brand glyph. */
#pxl-footer-elementor .fa-x-twitter::before { content: '\e9ca'; }
#pxl-header-elementor.home-source-header .pxl-nav-menu .pxl-menu-primary { display: block; width: auto; padding: 0; justify-content: initial; }
#pxl-header-elementor.home-source-header .pxl-nav-menu .pxl-menu-primary > li { display: inline-block; margin: 0 30px 0 0 !important; }
#pxl-header-elementor.home-source-header .pxl-nav-menu .pxl-menu-primary > li > a { height: auto !important; font-size: 16px !important; line-height: 95px !important; font-weight: 400; }
#pxl-header-elementor.home-source-header .home-menu-open > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
#pxl-header-elementor.home-source-header .pxl-menu-primary > li > .sub-menu[aria-hidden="true"] { opacity: 0; visibility: hidden; pointer-events: none; }
#pxl-header-elementor.home-source-header .pxl-header-menu .pxl-header-nav { display: block; padding: 0; }
#pxl-header-elementor.home-source-header .pxl-header-menu .pxl-menu-primary { display: block; width: 100%; padding: 0; }
#pxl-header-elementor.home-source-header .pxl-header-menu .pxl-menu-primary > li { display: block; margin: 0; }
#pxl-header-elementor.home-source-header .pxl-header-menu .pxl-menu-primary > li > a { height: auto; line-height: 48px; }
#pxl-header-elementor.home-source-header .pxl-header-menu .home-menu-open > .sub-menu { display: block; }
@media (min-width: 1200px) and (max-width: 1366px) {
  #pxl-header-elementor.home-source-header .pxl-nav-menu .pxl-menu-primary > li { margin-right: 17px !important; }
}

@media (min-width: 1200px) and (max-width: 1699px) {
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-topbar { font-size: 12px; padding: 0 12px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-topbar p { width: auto; min-width: 0; flex: 1 1 auto; padding-right: 12px; white-space: normal; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-top-contact a + a::before { margin: 0 12px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-language { margin-left: 24px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-language::before { left: -13px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-logo { width: 160px; flex-basis: 160px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-logo img { width: 130px; height: auto; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .pxl-header-nav { padding-left: 30px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .pxl-menu-primary > li > :is(a, .shell-navigation-trigger) { font-size: 15px; }
}

@media (min-width: 1200px) and (max-width: 1399px) {
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-logo { width: 145px; flex-basis: 145px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-logo img { width: 115px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .pxl-header-nav { padding-left: 18px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .pxl-menu-primary { padding-right: 18px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .pxl-menu-primary > li > :is(a, .shell-navigation-trigger) { font-size: 13px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-phone { width: 200px; flex-basis: 200px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-phone span { margin-left: 10px; font-size: 12px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-phone a { font-size: 16px; line-height: 24px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-search { width: 46px; height: 46px; flex-basis: 46px; margin-right: 15px; }
  #pxl-header-elementor:not(.shell-header--compact):not(.pxl-header-fixed) .shell-consult { width: 175px; flex-basis: 175px; padding: 0 12px; gap: 10px; font-size: 14px; }
}

@media (max-width: 1199px) {
  #pxl-header-elementor.home-source-header .pxl-header-elementor-main,
  #pxl-header-elementor.home-source-header .pxl-header-elementor-sticky { display: none !important; }
  #pxl-header-elementor:not(.shell-header--compact) .shell-hamburger span:first-of-type,
  #pxl-header-elementor:not(.shell-header--compact) .shell-hamburger span:last-of-type { width: 28px; }
  #pxl-header-elementor:not(.shell-header--compact) .shell-hamburger span:nth-of-type(2) { width: 36px; }
}

