/* WordPress class mapping — keep editorial CSS intact. */

.site-nav .menu-item-has-children {
  position: relative;
}

.site-nav .sub-menu,
.site-nav .site-nav__sub {
  position: absolute;
  top: calc(100% + 0.7rem);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  min-width: 12.5rem;
  padding: 0.7rem 0;
  background: var(--color-background);
  border: var(--border-width) solid var(--color-border);
  opacity: 0;
  visibility: hidden;
  list-style: none;
}

.site-nav .menu-item-has-children:hover > .sub-menu,
.site-nav .menu-item-has-children:focus-within > .sub-menu,
.site-nav .site-nav__item--has-sub:hover > .site-nav__sub,
.site-nav .site-nav__item--has-sub:focus-within > .site-nav__sub {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.site-nav .current-menu-item > a::after,
.site-nav .current-menu-parent > a::after,
.site-nav .current_page_item > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--color-olive);
}

.site-nav-panel .sub-menu,
.site-nav-panel .site-nav__sub {
  position: static;
  transform: none;
  opacity: 1;
  visibility: visible;
  border: 0;
  padding: 0.35rem 0 0.8rem 0.2rem;
  min-width: 0;
  background: transparent;
}

.site-nav-panel .sub-menu a {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-muted);
  padding: 0.3rem 0;
}

.alignwide,
.alignfull {
  max-width: none;
}

.wp-block-image img {
  height: auto;
}

.admin-bar .site-header {
  top: 32px;
}

@media (max-width: 782px) {
  .admin-bar .site-header {
    top: 46px;
  }
}
