/* stylelint-disable selector-class-pattern */

.p-menu a {
  display: inline-block;
  position: relative;
}

.p-menu__sub {
  position: absolute;
  inset: 0 0 0 auto;
  display: none;
}

.menu-item-has-children > a > .p-menu__sub {
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-menu__sub::before {
  transition: var(--w153-th-transition-default);
  content: "";
  border: solid var(--w153-th-color-text-default);
  border-width: 0 2px 2px 0;
  height: 7px;
  width: 7px;
  transform-origin: center;
  transform: rotate(45deg) translate(-2px, 0);
}

.p-menu .menu-item-has-children.is-submenu-open > a > .p-menu__sub::before {
  transform: rotate(-135deg) translate(-2px, 0);
}

.p-menu li {
  position: relative;
}

.p-menu li > * {
  position: relative;
  z-index: 20;
}

.p-menu .sub-menu {
  transition: var(--w153-th-transition-default);
  overflow: hidden;
  visibility: hidden;
}

.p-menu .menu-item-has-children:not(.is-submenu-open) > .sub-menu {
  height: 0 !important;
}

.p-menu .menu-item-has-children.is-submenu-open > .sub-menu {
  visibility: visible;
}

.p-menu .sub-menu > li,
.p-menu .sub-menu > li > a {
  display: block;
}

@media (min-width: 1300px) {
  .p-menu .sub-menu {
    position: absolute;
    z-index: 10;
    inset: 0 auto auto 0;
    opacity: 0;
  }

  .p-menu li:hover > .sub-menu,
  .p-menu li:focus > .sub-menu,
  .p-menu li:focus-within > .sub-menu {
    visibility: visible !important;
    opacity: 1;
  }

  .p-menu .menu-item-has-children:not(.is-submenu-open) > .sub-menu {
    height: auto !important;
  }
}
