/* Native WordPress menus and the Visual Site fallback share one presentation. */
.dom-desktop-nav .dom-menu { gap: clamp(8px, 1vw, 18px); }
.dom-menu.dom-menu-enhanced > li,
.dom-menu.dom-menu-enhanced ul > li { display: flex; align-items: center; flex-wrap: wrap; position: relative; }
.dom-menu.dom-menu-enhanced li > a { min-width: 0; }
.dom-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 8px; color: inherit; background: transparent; font: inherit; cursor: pointer; }
.dom-submenu-toggle span { display: block; line-height: 1; font-size: 22px; }
.dom-submenu-toggle:hover { background: rgb(0 0 0 / 5%); }
.dom-submenu-toggle:focus-visible,
.dom-menu a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 4px; }
.dom-menu.dom-menu-enhanced ul[hidden] { display: none !important; }
.dom-menu.dom-menu-enhanced ul:not([hidden]) { display: block; }
.dom-desktop-nav .dom-menu > li > ul {
    width: min(320px, calc(100vw - 32px)); max-height: none; overflow: visible; z-index: 20; margin: 0;
    left: 0; right: auto; transform: translateX(var(--dom-submenu-shift,0px));
}
.dom-desktop-nav .dom-menu > li > ul.dom-submenu-wide {
    width: min(760px, calc(100vw - 32px)); grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 4px 24px; padding: 16px; align-items: start;
}
.dom-desktop-nav .dom-menu.dom-menu-enhanced > li > ul.dom-submenu-wide:not([hidden]) { display: grid; }
.dom-menu.dom-menu-enhanced ul li > a { flex: 1; white-space: normal; overflow-wrap: anywhere; padding: 10px 8px; }
.dom-menu.dom-menu-enhanced ul ul { position: static; flex-basis: 100%; width: auto; min-width: 0; padding-left: 14px; box-shadow: none; }
.dom-menu .current-menu-item > a,
.dom-menu .current-menu-ancestor > a { text-decoration: underline; text-underline-offset: 5px; }
.dom-mobile-menu .dom-menu.dom-menu-enhanced { display: block; }
.dom-mobile-menu .dom-menu.dom-menu-enhanced li > a { flex: 1; padding-block: 10px; }
.dom-mobile-menu .dom-submenu-toggle { width: 44px; flex-basis: 44px; min-height: 44px; }
.dom-mobile-menu .dom-menu.dom-menu-enhanced ul { position: static; flex-basis: 100%; min-width: 0; width: 100%; padding: 0 0 8px 16px; margin: 0; box-shadow: none; }
.dom-mobile-menu .dom-menu.dom-menu-enhanced ul a { font-size: 18px; }
.dom-footer .dom-menu ul { display: block; position: static; min-width: 0; padding: 8px 0 0 14px; box-shadow: none; background: transparent; }
@media (prefers-reduced-motion: reduce) { .dom-submenu-toggle { transition: none; } }

/* Desktop links remain real links; hover/focus opens their dropdowns. */
.dom-desktop-nav .dom-submenu-toggle { display: none; }
.dom-desktop-nav .dom-menu > li > ul { padding: 8px; border: 1px solid rgb(0 0 0 / 8%); box-shadow: 0 8px 24px rgb(0 0 0 / 8%); }
/* Touch-only laptops need the same explicit disclosure as the phone menu. */
@media (hover:none) {
    .dom-desktop-nav .dom-submenu-toggle { display: inline-flex; }
    .dom-header-inner { flex-wrap: wrap; }
    .dom-desktop-nav { order: 4; flex: 1 0 100%; margin: 0; }
    .dom-desktop-nav .dom-menu { justify-content: center; }
}
