/* Recreate the captured four-column service menu using native Navigation blocks. */
.fs-navigation li.fs-mega-column > .wp-block-navigation-item__content {
    color: var(--wp--preset--color--accent-text); font-weight: 800;
}
.fs-navigation li.fs-mega-column > .wp-block-navigation__submenu-container {
    position: static !important; visibility: inherit !important; opacity: 1 !important;
    width: 100% !important; height: auto !important; min-width: 0 !important;
    max-height: none !important; overflow: visible !important;
    border: 0 !important; box-shadow: none; padding: 0;
}
.fs-navigation li.fs-mega-menu > .wp-block-navigation-item__content.wp-block-navigation-submenu__toggle {
    width: auto; gap: 8px; font: inherit; color: inherit; text-transform: uppercase;
}
.fs-navigation li.fs-mega-menu.open-on-click > .wp-block-navigation-submenu__toggle + .wp-block-navigation__submenu-icon { width: 14px; margin-left: 6px; }
.fs-navigation li.fs-mega-menu > .wp-block-navigation__submenu-icon svg { width: 12px; height: 12px; stroke: currentColor; }
@media (min-width: 1200px) {
    .fs-header-inner { position: relative; }
    .fs-navigation, .fs-navigation .wp-block-navigation__responsive-container,
    .fs-navigation .wp-block-navigation__responsive-close,
    .fs-navigation .wp-block-navigation__responsive-dialog,
    .fs-navigation .wp-block-navigation__responsive-container-content,
    .fs-navigation .wp-block-navigation__container,
    .fs-navigation li.fs-mega-menu { position: static; }
    .fs-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { position: static !important; }
    /* Keep the hover owner continuous from its control to the panel. The
       transparent strip also catches diagonal movement across the header gap. */
    .fs-navigation .wp-block-navigation__container > li.has-child { padding-block: 18px; margin-block: -18px; }
    .fs-navigation li.fs-mega-menu:has(> button[aria-expanded="true"])::after {
        content: ""; position: absolute; inset: auto 0 0; height: 18px;
    }
    nav.fs-navigation li.fs-mega-menu > .wp-block-navigation__submenu-container {
        inset: 100% 0 auto !important; width: 100% !important; min-width: 0;
        display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 20px; padding: 24px 20px; align-items: start;
        max-height: calc(100dvh - 100px); overflow-y: auto !important;
    }
    .fs-navigation li.fs-mega-column { display: flex; flex-direction: column; align-items: stretch; width: 100%; }
    .fs-navigation li.fs-mega-menu .wp-block-navigation-item { padding: 0; }
    .fs-navigation li.fs-mega-menu .wp-block-navigation-item__content { padding: 8px 10px; width: 100%; text-transform: uppercase; }
    .fs-navigation li.fs-mega-menu > .wp-block-navigation-item__content { width: auto; padding: 0; }
    .fs-navigation li.fs-mega-column > .wp-block-navigation-item__content { border-bottom: 1px solid var(--wp--preset--color--line); margin-bottom: 8px; }
    .fs-navigation .wp-block-navigation__submenu-container a:hover { background: var(--site-color-surface); }
}
@media (max-width: 1199px) {
    /* Original mobile menu: a white panel below the header with the orange rule. */
    .fs-navigation .wp-block-navigation__responsive-container.is-menu-open {
        inset: 80px 6% 16px; width: auto; height: auto;
        padding: 20px; border-top: 3px solid var(--site-color-accent);
        box-shadow: 0 4px 18px #0002;
    }
    .fs-navigation .is-menu-open .wp-block-navigation__container { gap: 8px; }
    .fs-navigation .is-menu-open .wp-block-navigation__submenu-container { padding: 4px 0 0 16px; }
    .fs-navigation .is-menu-open .fs-mega-column { margin-bottom: 12px; }
    .fs-navigation .is-menu-open .fs-mega-column > .wp-block-navigation__submenu-container { padding-inline-start: 12px; }
    .admin-bar .fs-navigation .wp-block-navigation__responsive-container.is-menu-open { top: 126px; }
}
@media (max-height: 500px) and (max-width: 1199px) {
    .fs-navigation .wp-block-navigation__responsive-container.is-menu-open { inset: 8px; }
}
