/* Site updates 2026: keep header nav on one line after adding the Residential link */
.main-nav > a, .nav-item > .nav-link, .nav-item > a, .main-nav .nav-cta { white-space: nowrap; }
@media (min-width: 769px) {
  .main-nav > a, .nav-item > .nav-link, .nav-item > a { padding: 8px 8px; }
  .main-nav .nav-cta { margin-left: 8px; }
}
@media (min-width: 769px) and (max-width: 1199px) {
  .main-nav > a, .nav-item > .nav-link, .nav-item > a { padding: 6px 5px; font-size: .84rem; }
  .main-nav .nav-cta { margin-left: 6px; padding: 8px 10px; font-size: .8rem; }
}


/* ==========================================================================
   Mobile menu (<=768px): dropdowns collapsed until tapped, scrollable panel
   ========================================================================== */
.main-nav .mnav-all { display: none; }
@media (max-width: 768px) {
  .main-nav.open {
    max-height: calc(100vh - 84px);
    max-height: calc(100dvh - 84px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .main-nav .nav-item .nav-dropdown,
  .main-nav .nav-item .nav-dropdown-mega { display: none !important; }
  .main-nav .nav-item.mnav-open > .nav-dropdown,
  .main-nav .nav-item.mnav-open > .nav-dropdown-mega { display: block !important; }
  .main-nav .nav-item > .nav-link,
  .main-nav .nav-item > a { width: 100%; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .main-nav .nav-item:hover .dropdown-arrow { transform: none; }
  .main-nav .nav-item.mnav-open .dropdown-arrow { transform: rotate(180deg); }
  .main-nav .mnav-all { display: block; grid-column: 1 / -1; font-weight: 700; }
}

/* Mobile menu: left-align plain links (Home, Residential), center text in Payment Portal buttons */
@media (max-width: 768px) {
  .main-nav > a:not(.nav-cta) { align-self: stretch; text-align: left; }
  .main-nav > a.nav-cta { justify-content: center; text-align: center; }
}
