/* Keep the core Navigation block in overlay/mobile mode until 1024px. */
@media (min-width: 600px) and (max-width: 1023.98px) {
  .wpnav .wp-block-navigation.is-responsive
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none;
    position: fixed;
  }

  .wpnav .wp-block-navigation.is-responsive
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex;
  }
}

/* max width */
.wpnav .wp-block-navigation__responsive-container.is-menu-open {
  left: auto;
  right: 0;
  width: 100%;
  max-width: 400px;
  background: var(--bg-primary);
  box-sizing: border-box;
  padding-inline: 30px;
}

/* cta */
.wpnav.wpcta .wp-block-navigation__responsive-container.is-menu-open :is(
  .wp-block-navigation__responsive-close,
  .wp-block-navigation__responsive-dialog,
  .wp-block-navigation__responsive-container-content,
  .wp-block-navigation__container
) {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

.wpnav.wpcta .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container > li:nth-of-type(5) {
  width: 100%;
  border-top: 1px solid color-mix(in srgb, var(--contrast-lg) 10%, transparent);
  margin-top: auto;
}

.wpnav.wpcta .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container > li:nth-of-type(5) > a {
  width: calc(100% - 20px);
  min-height: 40px;
  margin: 24px 10px 0;
  padding: 0 10px;
  box-sizing: border-box;
  background: var(--contrast-sm);
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

@media (min-width:1024px){
.wpnav.wpcta .wp-block-navigation__responsive-container
  .wp-block-navigation__container > li:nth-of-type(5){
    display: none;
  }
}

/* overlay */
@media (max-width: 1023.9px) {
  .wpnav .wp-block-navigation:has(> .wp-block-navigation__responsive-container.is-menu-open)::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 99999;
    background-color: var(--contrast-lg-a50);
    animation: none;
    transition: none;
  }

  .wpnav .wp-block-navigation__responsive-container.is-menu-open {
    z-index: 100000;
  }

  @media not (prefers-reduced-motion) {
    .wpnav .wp-block-navigation__responsive-container.is-menu-open {
      animation: wpnav-drawer-slide-in 160ms ease-out both;
    }
  }
}

@keyframes wpnav-drawer-slide-in {
  from {
    transform: translateX(100%);
  }

  to {
    transform: translateX(0);
  }
}
