/* WMM menu: Elementor Pro's Nav Menu widget (menu "main") restyled to the menu standard (Mike, 16 October 2026), ported
   from the approved Debsan menu. Desktop: Services and Service Areas open as dropdowns; each list scrolls inside itself
   with its own scrollbar; every town shows a right arrow and opens a flyout of its pages beside the dropdown at the
   hovered town's row (placed by menu.js, which flips it left when there is no room on the right); the hovered town takes
   the accent colour. Phone and tablet (the widget's burger, below 1025px): Elementor's dropdown, where Services, Service
   Areas and each town open as nested accordions. Colours: Elementor Global Colors only. */

/* ---------- desktop: top level ---------- */
.wmm-nav .elementor-nav-menu--main .elementor-nav-menu { justify-content: center; }
.wmm-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item { padding: 10px 14px; font-size: 17px; line-height: 1.35;
  letter-spacing: .03em; white-space: nowrap; }
.wmm-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:hover,
.wmm-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item.highlighted,
.wmm-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item-active { text-decoration: underline; text-underline-offset: .2em;
  text-decoration-thickness: 1px; }
.wmm-nav .elementor-nav-menu--main .elementor-nav-menu > li > a .sub-arrow { margin-left: 6px; font-size: 11px; }
.wmm-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.highlighted .sub-arrow { transform: rotate(180deg); }

/* ---------- desktop: the dropdown lists (Services, Service Areas) ---------- */
/* SmartMenus writes min-width: 10em inline on every sub menu, hence !important */
.wmm-nav .elementor-nav-menu--main ul.sub-menu { min-width: 240px !important; padding: 8px; border-radius: 10px;
  background: var(--e-global-color-wmm_surface);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--e-global-color-wmm_heading) 6%, transparent), 0 18px 44px color-mix(in srgb, var(--e-global-color-wmm_heading) 18%, transparent);
  max-height: min(66vh, 560px); overflow-y: auto; overscroll-behavior: contain;
  scrollbar-width: thin; scrollbar-color: var(--e-global-color-wmm_line) transparent; }
.wmm-nav .elementor-nav-menu--main ul.sub-menu::-webkit-scrollbar { width: 8px; }
.wmm-nav .elementor-nav-menu--main ul.sub-menu::-webkit-scrollbar-thumb { background: var(--e-global-color-wmm_line); border-radius: 8px; }
.wmm-nav .elementor-nav-menu--main ul.sub-menu li { position: static; }
.wmm-nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item { display: flex; align-items: center; justify-content: space-between; gap: 18px;
  padding: 10px 14px; border-radius: 6px; border: 0; font-size: 16px; line-height: 1.3; letter-spacing: .02em; white-space: nowrap;
  color: var(--e-global-color-wmm_heading); background: transparent; }
.wmm-nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:hover,
.wmm-nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:focus-visible,
.wmm-nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item.highlighted { background: var(--e-global-color-wmm_accent);
  color: var(--e-global-color-wmm_on_accent); text-decoration: none; }
.wmm-nav .elementor-nav-menu--main ul.sub-menu a.elementor-item-active { font-weight: 800; }
/* a town with pages: a right-pointing arrow in place of the widget's down arrow */
.wmm-nav .elementor-nav-menu--main ul.sub-menu a.has-submenu .sub-arrow { display: none; }
.wmm-nav .elementor-nav-menu--main ul.sub-menu a.has-submenu::after { content: ""; width: 7px; height: 7px; flex: 0 0 auto;
  border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }

/* ---------- desktop: a town's flyout (third level), fixed beside the dropdown; menu.js sets top and left ---------- */
.wmm-nav .elementor-nav-menu--main ul.sub-menu ul.sub-menu { position: fixed; min-width: 300px !important; max-height: min(70vh, 560px); }
.wmm-nav .elementor-nav-menu--main ul.sub-menu ul.sub-menu.wmm-fly-left { box-shadow: 0 18px 44px color-mix(in srgb, var(--e-global-color-wmm_heading) 18%, transparent); }
/* SmartMenus' own scroll arrows are not used: each list scrolls itself */
.wmm-nav .elementor-nav-menu--main .scroll-up, .wmm-nav .elementor-nav-menu--main .scroll-down { display: none !important; }

/* ---------- phone and tablet: the burger's dropdown, towns as nested accordions ---------- */
.wmm-nav .elementor-menu-toggle { width: 48px; height: 44px; border-radius: 6px; font-size: 24px; background: transparent; }
.wmm-nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container { background: var(--e-global-color-wmm_base);
  box-shadow: 0 18px 44px color-mix(in srgb, var(--e-global-color-wmm_heading) 18%, transparent); overscroll-behavior: contain; }
.wmm-nav .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
  max-height: calc(100vh - 64px); max-height: calc(100dvh - 64px); overflow-y: auto; }
.wmm-nav nav.elementor-nav-menu--dropdown .elementor-nav-menu a { justify-content: center; padding: 13px 20px; font-size: 16px; line-height: 1.35;
  color: var(--e-global-color-wmm_heading); background: transparent; border: 0; }
.wmm-nav nav.elementor-nav-menu--dropdown .elementor-nav-menu a:hover,
.wmm-nav nav.elementor-nav-menu--dropdown .elementor-nav-menu a.highlighted { color: var(--e-global-color-wmm_heading); background: transparent; text-decoration: underline;
  text-underline-offset: .2em; }
.wmm-nav nav.elementor-nav-menu--dropdown .sub-arrow { margin-left: 8px; font-size: 11px; transition: transform .2s; }
.wmm-nav nav.elementor-nav-menu--dropdown a.highlighted .sub-arrow { transform: rotate(180deg); }
.wmm-nav nav.elementor-nav-menu--dropdown ul.sub-menu { position: static; width: min(320px, calc(100% - 40px)); margin: 0 auto 10px; padding: 8px 6px;
  border-radius: 10px; background: var(--e-global-color-wmm_surface); }
.wmm-nav nav.elementor-nav-menu--dropdown ul.sub-menu a { padding: 10px 14px; font-size: 15px; }
.wmm-nav nav.elementor-nav-menu--dropdown ul.sub-menu ul.sub-menu { width: auto; margin: 4px 6px 8px; background: var(--e-global-color-wmm_base); }
.wmm-nav nav.elementor-nav-menu--dropdown ul.sub-menu ul.sub-menu a { font-size: 14px; white-space: normal; }
/* the "<Town> overview" row opening a town's accordion on phone and tablet; styled like the town's other pages, set apart by a rule */
.wmm-nav nav.elementor-nav-menu--dropdown ul.sub-menu ul.sub-menu li.wmm-overview a { font-weight: 600; }
.wmm-nav nav.elementor-nav-menu--dropdown ul.sub-menu ul.sub-menu li.wmm-overview { border-bottom: 1px solid color-mix(in srgb, var(--e-global-color-wmm_heading) 14%, transparent); margin-bottom: 4px; }
