/* Custom overlay visuals: same item styling as the desktop menu, scoped to
   navs inside the native overlay container. Applies at every width. */
.wp-block-navigation__overlay-container .wp-block-navigation .wp-block-navigation-item {
  background-color: transparent;
  color: var(--wp--preset--color--gris-azulado, #023878);
  transition: background-color 500ms, color 500ms;
}

.wp-block-navigation__overlay-container .wp-block-navigation .wp-block-navigation-item:hover,
.wp-block-navigation__overlay-container .wp-block-navigation .wp-block-navigation-item:focus-within {
  background-color: var(--wp--preset--color--gris-azulado, #023878);
  color: #fff;
}

.wp-block-navigation__overlay-container .wp-block-navigation .wp-block-navigation-item > .wp-block-navigation-item__content,
.wp-block-navigation__overlay-container .wp-block-navigation .wp-block-navigation-item > .wp-block-navigation__submenu-icon {
  color: inherit;
  background-color: transparent;
}

.wp-block-navigation__overlay-container .wp-block-navigation .wp-block-navigation-item > .wp-block-navigation-item__content {
  padding: 0.5rem 0.75rem;
}

.wp-block-navigation__overlay-container .wp-block-navigation .wp-block-navigation__submenu-container {
  background-color: #f8f9fa;
  color: var(--wp--preset--color--gris-azulado, #023878);
  box-shadow: 0 10px 18px rgba(163, 163, 163, 0.65);
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-navigation__overlay-container .wp-block-navigation .wp-block-navigation-item {
    transition: none;
  }
}

@media (min-width: 600px) {
  /* Target desktop root lists, direct or inside a closed responsive
     container, but never navigation nested inside an overlay or carrying
     a configured [data-csp-nav-breakpoint] override. */
  nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav) {
    position: relative;
    z-index: 10;
  }

  :is(
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > :is(.wp-block-navigation__container, .wp-block-page-list),
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > .wp-block-navigation__responsive-container:not(.is-menu-open)
      > .wp-block-navigation__responsive-close
      > .wp-block-navigation__responsive-dialog
      > .wp-block-navigation__responsive-container-content
      > :is(.wp-block-navigation__container, .wp-block-page-list)
    ) .wp-block-navigation-item {
    background-color: transparent;
    color: var(--wp--preset--color--gris-azulado, #023878);
    transition: background-color 500ms, color 500ms;
  }

  :is(
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > :is(.wp-block-navigation__container, .wp-block-page-list),
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > .wp-block-navigation__responsive-container:not(.is-menu-open)
      > .wp-block-navigation__responsive-close
      > .wp-block-navigation__responsive-dialog
      > .wp-block-navigation__responsive-container-content
      > :is(.wp-block-navigation__container, .wp-block-page-list)
    ) .wp-block-navigation-item:hover,
  :is(
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > :is(.wp-block-navigation__container, .wp-block-page-list),
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > .wp-block-navigation__responsive-container:not(.is-menu-open)
      > .wp-block-navigation__responsive-close
      > .wp-block-navigation__responsive-dialog
      > .wp-block-navigation__responsive-container-content
      > :is(.wp-block-navigation__container, .wp-block-page-list)
    ) .wp-block-navigation-item:focus-within {
    background-color: var(--wp--preset--color--gris-azulado, #023878);
    color: #fff;
  }

  :is(
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > :is(.wp-block-navigation__container, .wp-block-page-list),
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > .wp-block-navigation__responsive-container:not(.is-menu-open)
      > .wp-block-navigation__responsive-close
      > .wp-block-navigation__responsive-dialog
      > .wp-block-navigation__responsive-container-content
      > :is(.wp-block-navigation__container, .wp-block-page-list)
    ) .wp-block-navigation-item > .wp-block-navigation-item__content,
  :is(
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > :is(.wp-block-navigation__container, .wp-block-page-list),
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > .wp-block-navigation__responsive-container:not(.is-menu-open)
      > .wp-block-navigation__responsive-close
      > .wp-block-navigation__responsive-dialog
      > .wp-block-navigation__responsive-container-content
      > :is(.wp-block-navigation__container, .wp-block-page-list)
    ) .wp-block-navigation-item > .wp-block-navigation__submenu-icon {
    color: inherit;
  }

  :is(
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > :is(.wp-block-navigation__container, .wp-block-page-list),
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > .wp-block-navigation__responsive-container:not(.is-menu-open)
      > .wp-block-navigation__responsive-close
      > .wp-block-navigation__responsive-dialog
      > .wp-block-navigation__responsive-container-content
      > :is(.wp-block-navigation__container, .wp-block-page-list)
    ) .wp-block-navigation-item > .wp-block-navigation__submenu-icon {
    background-color: transparent;
  }

  :is(
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > :is(.wp-block-navigation__container, .wp-block-page-list),
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > .wp-block-navigation__responsive-container:not(.is-menu-open)
      > .wp-block-navigation__responsive-close
      > .wp-block-navigation__responsive-dialog
      > .wp-block-navigation__responsive-container-content
      > :is(.wp-block-navigation__container, .wp-block-page-list)
    ) > .wp-block-navigation-item {
    padding: 0.5rem;
  }

  :is(
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > :is(.wp-block-navigation__container, .wp-block-page-list),
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > .wp-block-navigation__responsive-container:not(.is-menu-open)
      > .wp-block-navigation__responsive-close
      > .wp-block-navigation__responsive-dialog
      > .wp-block-navigation__responsive-container-content
      > :is(.wp-block-navigation__container, .wp-block-page-list)
    ) .wp-block-navigation__submenu-container {
    background-color: #f8f9fa;
    color: var(--wp--preset--color--gris-azulado, #023878);
    box-shadow: 0 10px 18px rgba(163, 163, 163, 0.65);
  }

  :is(
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > :is(.wp-block-navigation__container, .wp-block-page-list),
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > .wp-block-navigation__responsive-container:not(.is-menu-open)
      > .wp-block-navigation__responsive-close
      > .wp-block-navigation__responsive-dialog
      > .wp-block-navigation__responsive-container-content
      > :is(.wp-block-navigation__container, .wp-block-page-list)
    ) .has-child:not(.open-always) > .wp-block-navigation__submenu-container {
    width: 0;
    height: auto;
    min-width: 0;
    max-width: calc(100vw - 40px);
    box-sizing: border-box;
    overflow-wrap: anywhere;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.1s ease, visibility 0s linear 0.1s, width 0s linear 0.1s, min-width 0s linear 0.1s;
  }

  @media (hover: hover) {
    :is(
        nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
        > :is(.wp-block-navigation__container, .wp-block-page-list),
        nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
        > .wp-block-navigation__responsive-container:not(.is-menu-open)
        > .wp-block-navigation__responsive-close
        > .wp-block-navigation__responsive-dialog
        > .wp-block-navigation__responsive-container-content
        > :is(.wp-block-navigation__container, .wp-block-page-list)
      ) .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      width: 240px;
      min-width: 200px;
      overflow: visible;
      transition: opacity 0.4s ease, visibility 0s linear 0s;
    }
  }

  :is(
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > :is(.wp-block-navigation__container, .wp-block-page-list),
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > .wp-block-navigation__responsive-container:not(.is-menu-open)
      > .wp-block-navigation__responsive-close
      > .wp-block-navigation__responsive-dialog
      > .wp-block-navigation__responsive-container-content
      > :is(.wp-block-navigation__container, .wp-block-page-list)
    ) .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within > .wp-block-navigation__submenu-container,
  :is(
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > :is(.wp-block-navigation__container, .wp-block-page-list),
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > .wp-block-navigation__responsive-container:not(.is-menu-open)
      > .wp-block-navigation__responsive-close
      > .wp-block-navigation__responsive-dialog
      > .wp-block-navigation__responsive-container-content
      > :is(.wp-block-navigation__container, .wp-block-page-list)
    ) .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    width: 240px;
    min-width: 200px;
    overflow: visible;
    transition: opacity 0.4s ease, visibility 0s linear 0s;
  }

  @media (prefers-reduced-motion: reduce) {
    :is(
        nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
        > :is(.wp-block-navigation__container, .wp-block-page-list),
        nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
        > .wp-block-navigation__responsive-container:not(.is-menu-open)
        > .wp-block-navigation__responsive-close
        > .wp-block-navigation__responsive-dialog
        > .wp-block-navigation__responsive-container-content
        > :is(.wp-block-navigation__container, .wp-block-page-list)
      ) .wp-block-navigation-item {
      transition: none;
    }
    :is(
        nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
        > :is(.wp-block-navigation__container, .wp-block-page-list),
        nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
        > .wp-block-navigation__responsive-container:not(.is-menu-open)
        > .wp-block-navigation__responsive-close
        > .wp-block-navigation__responsive-dialog
        > .wp-block-navigation__responsive-container-content
        > :is(.wp-block-navigation__container, .wp-block-page-list)
      ) .has-child:not(.open-always) > .wp-block-navigation__submenu-container,
    :is(
        nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
        > :is(.wp-block-navigation__container, .wp-block-page-list),
        nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
        > .wp-block-navigation__responsive-container:not(.is-menu-open)
        > .wp-block-navigation__responsive-close
        > .wp-block-navigation__responsive-dialog
        > .wp-block-navigation__responsive-container-content
        > :is(.wp-block-navigation__container, .wp-block-page-list)
      ) .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container,
    :is(
        nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
        > :is(.wp-block-navigation__container, .wp-block-page-list),
        nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
        > .wp-block-navigation__responsive-container:not(.is-menu-open)
        > .wp-block-navigation__responsive-close
        > .wp-block-navigation__responsive-dialog
        > .wp-block-navigation__responsive-container-content
        > :is(.wp-block-navigation__container, .wp-block-page-list)
      ) .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within > .wp-block-navigation__submenu-container,
    :is(
        nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
        > :is(.wp-block-navigation__container, .wp-block-page-list),
        nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
        > .wp-block-navigation__responsive-container:not(.is-menu-open)
        > .wp-block-navigation__responsive-close
        > .wp-block-navigation__responsive-dialog
        > .wp-block-navigation__responsive-container-content
        > :is(.wp-block-navigation__container, .wp-block-page-list)
      ) .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container {
      transition: none;
    }
  }

  :is(
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > :is(.wp-block-navigation__container, .wp-block-page-list),
      nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
      > .wp-block-navigation__responsive-container:not(.is-menu-open)
      > .wp-block-navigation__responsive-close
      > .wp-block-navigation__responsive-dialog
      > .wp-block-navigation__responsive-container-content
      > :is(.wp-block-navigation__container, .wp-block-page-list)
    ) > .has-child:last-child > .wp-block-navigation__submenu-container {
    left: auto;
    right: 0;
  }

  @media (min-width: 782px) {
    :is(
        nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
        > :is(.wp-block-navigation__container, .wp-block-page-list),
        nav.wp-block-navigation.mainmenu:not([data-csp-nav-breakpoint]):not(.wp-block-navigation__responsive-container nav)
        > .wp-block-navigation__responsive-container:not(.is-menu-open)
        > .wp-block-navigation__responsive-close
        > .wp-block-navigation__responsive-dialog
        > .wp-block-navigation__responsive-container-content
        > :is(.wp-block-navigation__container, .wp-block-page-list)
      ) > .has-child:last-child > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
      left: auto;
      right: 100%;
    }
  }
}
