/* Unified desktop/mobile header and services dropdown. */
.site-header-v3 .nav-v3 .services-nav__panel a,
.site-header .main-nav .services-nav__panel a,
.unified-site-header .main-nav .services-nav__panel a {
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  white-space: normal !important;
}

.site-header-v3 .nav-v3 .services-nav__panel strong,
.site-header-v3 .nav-v3 .services-nav__panel span,
.site-header .main-nav .services-nav__panel strong,
.site-header .main-nav .services-nav__panel span,
.unified-site-header .main-nav .services-nav__panel strong,
.unified-site-header .main-nav .services-nav__panel span {
  display: block !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

.unified-site-header {
  position: fixed !important;
  inset: 0 0 auto !important;
  z-index: 5000 !important;
  display: block !important;
  width: 100% !important;
  padding: 10px 14px !important;
  border-bottom: 1px solid rgba(16,38,66,.1) !important;
  background: rgba(247,245,239,.96) !important;
  backdrop-filter: blur(14px);
}

.unified-site-header .header-row {
  display: grid !important;
  grid-template-columns: 150px minmax(0,1fr) max-content !important;
  align-items: center !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.unified-site-header .brand {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 150px !important;
  min-width: 150px !important;
  height: 58px !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.unified-site-header .brand img {
  display: block !important;
  width: 150px !important;
  height: auto !important;
  max-height: 48px !important;
  object-fit: contain !important;
}

.unified-site-header .nav-shell { min-width: 0 !important; }
.unified-site-header .main-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  min-height: 58px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(16,38,66,.11) !important;
  color: #3f4247 !important;
  font-size: 14px !important;
}

.site-header-v3 .nav-v3 .services-nav__panel,
.site-header .main-nav .services-nav__panel,
.unified-site-header .main-nav .services-nav__panel {
  grid-template-columns: 1fr !important;
  width: min(430px, calc(100vw - 32px)) !important;
}

.site-header-v3 .nav-v3 .services-nav__panel span,
.site-header .main-nav .services-nav__panel span,
.unified-site-header .main-nav .services-nav__panel span {
  display: none !important;
}

.site-header-v3 .nav-v3 .services-nav__panel strong,
.site-header .main-nav .services-nav__panel strong,
.unified-site-header .main-nav .services-nav__panel strong {
  font-size: 15px !important;
  line-height: 1.25 !important;
}

.unified-site-header .main-nav > a {
  display: flex !important;
  align-items: center !important;
  min-height: 58px !important;
  padding: 0 !important;
  color: inherit !important;
  white-space: nowrap !important;
}

.unified-site-header .header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.unified-site-header .menu-toggle,
.unified-site-header .chat-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #102b49 !important;
  color: #fff !important;
}

.unified-site-header .menu-toggle { flex-direction: column !important; gap: 4px !important; font-size: 0 !important; }
.unified-site-header .menu-toggle span { display: block !important; width: 16px !important; height: 2px !important; border-radius: 2px !important; background: #fff !important; }
.unified-site-header .chat-link svg { width: 28px !important; height: 28px !important; fill: none !important; stroke: #fff !important; stroke-width: 1.8 !important; }
.unified-site-header .phone {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 205px !important;
  min-height: 58px !important;
  padding: 8px 22px !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(16,38,66,.11) !important;
  color: #102642 !important;
  text-decoration: none !important;
}
.unified-site-header .phone strong { font-size: 16px !important; line-height: 1.15 !important; }
.unified-site-header .phone small { color: #64758b !important; font-size: 12px !important; font-weight: 700 !important; }

body.has-unified-header { padding-top: 79px !important; }

@media (max-width: 1240px) {
  .unified-site-header .header-row { grid-template-columns: 140px minmax(0,1fr) max-content !important; gap: 12px !important; }
  .unified-site-header .brand, .unified-site-header .brand img { width: 140px !important; min-width: 140px !important; }
  .unified-site-header .main-nav { gap: 14px !important; padding: 0 18px !important; font-size: 13px !important; }
  .unified-site-header .main-nav .nav-extra { display: none !important; }
  .unified-site-header .phone { min-width: 184px !important; padding: 8px 16px !important; }
}

@media (max-width: 900px) {
  body.has-unified-header { padding-top: 69px !important; }
  .unified-site-header { padding: 9px 12px !important; }
  .unified-site-header .header-row { grid-template-columns: 140px 1fr auto !important; gap: 8px !important; }
  .unified-site-header .brand { width: 140px !important; min-width: 140px !important; height: 50px !important; }
  .unified-site-header .brand img { width: 140px !important; min-width: 0 !important; max-height: 44px !important; }
  .unified-site-header .phone { display: none !important; }
  .unified-site-header .menu-toggle, .unified-site-header .chat-link { width: 50px !important; height: 50px !important; min-width: 50px !important; }
  .unified-site-header .nav-shell { display: none !important; position: absolute !important; top: 69px !important; left: 12px !important; right: 12px !important; }
  .unified-site-header.open .nav-shell { display: block !important; }
  .unified-site-header .main-nav { display: grid !important; gap: 0 !important; padding: 8px !important; border-radius: 24px !important; }
  .unified-site-header .main-nav > a { min-height: 48px !important; padding: 0 16px !important; border-bottom: 1px solid rgba(16,38,66,.08) !important; }
  .site-header-v3 .nav-v3 .services-nav__panel,
  .site-header .main-nav .services-nav__panel,
  .unified-site-header .main-nav .services-nav__panel {
    width: 100% !important;
  }
}

@media (max-width: 560px) {
  .unified-site-header .header-row { grid-template-columns: minmax(106px,140px) 1fr auto !important; }
  .unified-site-header .brand { width: 140px !important; min-width: 0 !important; }
  .unified-site-header .brand img { width: 140px !important; max-width: 100% !important; }
}
