/* WordPress Primary Menu, independent of Footer Services Menu. */
.hamburger-btn { padding: 0; border: 0; background: transparent; }
.main-navigation .primary-menu { flex-wrap: wrap; align-items: center; }
.main-navigation li { position: relative; list-style: none; }
.main-navigation .menu-item-has-children { position: relative; }
.main-navigation .current-menu-item > a, .main-navigation .current-menu-ancestor > a { color: var(--teal); }
.main-navigation .sub-menu { position: absolute; inset-inline-start: 0; top: 100%; min-width: 210px; max-width: 300px; margin: 0; padding: 12px; display: none; flex-direction: column; gap: 4px; background: var(--purple-dark); border: 1px solid rgba(255,255,255,.15); border-radius: 10px; box-shadow: 0 12px 28px rgba(0,0,0,.18); z-index: 10002; }
.main-navigation .sub-menu .sub-menu { inset-inline-start: 100%; top: 0; }
.main-navigation .sub-menu a { display: inline-block; padding: 8px; line-height: 1.4; overflow-wrap: anywhere; }
.main-navigation li.submenu-open > .sub-menu,
.main-navigation:not(.navigation-enhanced) li:hover > .sub-menu,
.main-navigation:not(.navigation-enhanced) li:focus-within > .sub-menu { display: flex; }
.submenu-toggle { display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; border: 0; background: transparent; color: #fff; padding: 8px 5px; cursor: pointer; margin-inline-start: 3px; }
.submenu-toggle[aria-expanded="true"] svg { rotate: 180deg; }
.submenu-toggle:focus-visible, .main-navigation a:focus-visible, .hamburger-btn:focus-visible, .close-menu-btn:focus-visible { outline: 2px solid var(--teal); outline-offset: 4px; }
@media (max-width: 1080px) {
    .main-navigation { overflow-y: auto; height: 100dvh; visibility: hidden; }
    .main-navigation.nav-active { visibility: visible; }
    .main-navigation .primary-menu { align-items: stretch; flex-wrap: nowrap; flex-shrink: 0; }
    .main-navigation .sub-menu, .main-navigation .sub-menu .sub-menu { position: static; min-width: 0; max-width: 100%; margin: 10px 0 0; padding: 10px; box-shadow: none; }
    .main-navigation .sub-menu a { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) { .main-navigation { transition: none; } }
